#776238 unshield: aborts on corrupted archive

Package:
unshield
Source:
unshield
Description:
extracts CAB files from InstallShield installers
Submitter:
Jakub Wilk
Date:
2015-01-25 20:42:07 UTC
Severity:
normal
#776238#3
Date:
2015-01-25 20:38:58 UTC
From:
To:
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