#878260 nomarch: out-of-bounds read in arc_extract_or_test()

Package:
nomarch
Source:
nomarch
Description:
Unpacks .ARC and .ARK MS-DOS archives
Submitter:
Jakub Wilk
Date:
2017-10-11 19:42:04 UTC
Severity:
normal
#878260#3
Date:
2017-10-11 19:39:50 UTC
From:
To:
$ valgrind -q nomarch -t oob.arc > /dev/null
==9812== Invalid read of size 1
==9812==    at 0x1096A3: arc_extract_or_test (in /usr/bin/nomarch)
==9812==    by 0x1089C4: main (in /usr/bin/nomarch)
==9812==  Address 0x4a10210 is 0 bytes after a block of size 48 alloc'd
==9812==    at 0x482E2BC: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==9812==    by 0x108D9D: read_file_data (in /usr/bin/nomarch)
==9812==    by 0x10959F: arc_extract_or_test (in /usr/bin/nomarch)
==9812==    by 0x1089C4: main (in /usr/bin/nomarch)
==9812==
==9812== Conditional jump or move depends on uninitialised value(s)
==9812==    at 0x1096D7: arc_extract_or_test (in /usr/bin/nomarch)
==9812==    by 0x1089C4: main (in /usr/bin/nomarch)
==9812==
nomarch: error reading record header


Found using American Fuzzy Lop:
http://lcamtuf.coredump.cx/afl/