Package: unshield
Version: 1.0-1
Usertags: afl

Unshield aborts while testing this (slightly corrupted) archive:

$ unshield t data1.cab
Aborted


I would expect it to print an explanatory error message and exit normally with non-zero exit code instead.

Backtrace:
#0  0xf7fdc425 in __kernel_vsyscall ()
#1  0xf7e19307 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#2  0xf7e1a9c3 in __GI_abort () at abort.c:89
#3  0xf7fb5794 in unshield_component_new (header=0x804dfd0, offset=646) at 
component.c:54
#4  0xf7fb8eff in unshield_header_get_components (header=0x804dfd0) at 
libunshield.c:155
#5  0xf7fb942d in unshield_read_headers (unshield=0x804dfb0, version=-1) at 
libunshield.c:309
#6  0xf7fb95db in unshield_open_force_version (filename=0xffffd9c2 "data1.cab", 
version=-1) at libunshield.c:361
#7  0x08049db1 in main (argc=3, argv=0xffffd804) at unshield.c:574

This bug was found using American fuzzy lop:
https://packages.debian.org/experimental/afl

-- System Information:
Debian Release: 8.0
 APT prefers unstable
 APT policy: (990, 'unstable'), (500, 'experimental')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages unshield depends on:
ii  libc6         2.19-13
ii  libunshield0  1.0-1
ii  zlib1g        1:1.2.8.dfsg-2+b1

--
Jakub Wilk

Attachment: data1.cab
Description: Binary data

Attachment: data1.hdr
Description: Binary data

Reply via email to