summaryrefslogtreecommitdiff
path: root/tests/misc/od.pl
diff options
context:
space:
mode:
authorJim Meyering <meyering@fb.com>2013-06-01 19:20:06 -0700
committerJim Meyering <meyering@fb.com>2013-06-02 09:25:38 -0700
commit51a8f707131c36d7a88753e3bee839b2a4a336e4 (patch)
treef8aab34122568f6d1ca476d9d469e4d01125c77e /tests/misc/od.pl
parentaeaeb87c134ce748527ba99e749b7369fcba2438 (diff)
downloadcoreutils-51a8f707131c36d7a88753e3bee839b2a4a336e4.tar.xz
od: -wN, N>64K, avoid misbehavior on systems with 32-bit size_t
* src/od.c (PRINT_FIELDS): Declare "i" to be of type uintmax_t, so that the numerator in the expression for "next_pad" does not overflow. (print_named_ascii): Likewise. (print_ascii): Likewise. Bug introduced via commit v6.12-42-g20c0b87. * tests/misc/od.pl: Exercise each of the three affected code paths. * NEWS (Bug fixes): Mention it. Reported by Rich Burridge.
Diffstat (limited to 'tests/misc/od.pl')
-rwxr-xr-xtests/misc/od.pl7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/misc/od.pl b/tests/misc/od.pl
index 0649b1c62..fb579aa90 100755
--- a/tests/misc/od.pl
+++ b/tests/misc/od.pl
@@ -57,6 +57,13 @@ my @Tests =
# even if the kernel reports that the file has stat.st_size = 0.
['j-proc', "-An -c -j $proc_file_byte_count $proc_file",
{IN=>{f2=>'e'}}, {OUT=>" e\n"}],
+
+ # Ensure that a large width does not cause trouble.
+ # From coreutils-7.0 through coreutils-8.21, these would print
+ # approximately 128KiB of padding.
+ ['wide-a', '-a -w65537 -An', {IN=>{g=>'x'}}, {OUT=>" x\n"}],
+ ['wide-c', '-c -w65537 -An', {IN=>{g=>'x'}}, {OUT=>" x\n"}],
+ ['wide-x', '-tx1 -w65537 -An', {IN=>{g=>'B'}}, {OUT=>" 42\n"}],
);
my $save_temps = $ENV{DEBUG};