aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2020-10-20 19:26:52 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2020-10-20 19:29:32 +0200
commit079487b48724d936b31a6696ae0f929b0251eaa3 (patch)
tree49721ad361a11b5c25ac4202ddcbf4c5c9e2bcb9
parentdac5b8314236338963877903cba3d7edfbfc9c58 (diff)
downloadbusybox-079487b48724d936b31a6696ae0f929b0251eaa3.tar.gz
hexdump: fix dup block comparison
function old new delta bb_dump_dump 1523 1520 -3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--libbb/dump.c1
-rwxr-xr-xtestsuite/hexdump.tests19
2 files changed, 19 insertions, 1 deletions
diff --git a/libbb/dump.c b/libbb/dump.c
index 920f003ef..7a07d6605 100644
--- a/libbb/dump.c
+++ b/libbb/dump.c
@@ -432,7 +432,6 @@ static unsigned char *get(priv_dumper_t *dumper)
if (dumper->pub.dump_vflag != DUP) {
puts("*");
}
- return NULL;
}
memset(dumper->get__curp + nread, 0, need);
dumper->eaddress = dumper->address + nread;
diff --git a/testsuite/hexdump.tests b/testsuite/hexdump.tests
index 45a0c1300..cfb20187e 100755
--- a/testsuite/hexdump.tests
+++ b/testsuite/hexdump.tests
@@ -15,4 +15,23 @@ testing 'hexdump -C with four NULs' \
'' \
'\0\0\0\0'
+testing "hexdump does not think last padded block matches any full block" \
+ "hexdump -e '1/1 \"%02x|\"1/1 \"%02x!\\n\"'" \
+ "\
+00|00!
+*
+00| !
+" \
+ '' \
+ '\0\0\0\0\0\0\0\0\0\0\0'
+
+testing "hexdump thinks last full block can match" \
+ "hexdump -e '1/1 \"%02x|\"1/1 \"%02x!\\n\"'" \
+ "\
+00|00!
+*
+" \
+ '' \
+ '\0\0\0\0\0\0\0\0\0\0\0\0'
+
exit $FAILCOUNT