ports/71686: rar and unrar Segmentation fault on password-prot. archive with -p-
Mark Martinec
Mark.Martinec at ijs.si
Sun Sep 12 21:20:21 UTC 2004
>Number: 71686
>Category: ports
>Synopsis: rar and unrar Segmentation fault on password-prot. archive with -p-
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Sep 12 21:20:20 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Mark Martinec
>Release: 5.2-CURRENT
>Organization:
"J. Stefan" Institute
>Environment:
FreeBSD sleepy.ijs.si 5.2-CURRENT FreeBSD 5.2-CURRENT #2: Wed Aug 25 12:58:04 CEST 2004 mark at sleepy.ijs.si:/usr/obj/usr/src/sys/SLEEPY i386
>Description:
Both the rar and unrar with any command (x, t, v, l) segfaults on certain (not all) password-protected (or broken?) archives when password is not given or is incorrect.
Here is an example RAR that triggers the problem:
http://www.ijs.si/people/mark/frt45q.rar
(caution with that file, might contain a virus)
While this may be a minor annoyance for interactive use, it can be
a showstopper in anti-virus software (clamav, amavisd-new, ...)
which calls unrar or rar to unpack RAR archives.
Here is a backtrace after 'unrar t -p-' fault:
Program received signal SIGSEGV, Segmentation fault.
0x28211e80 in _ftello () from /lib/libc.so.5
(gdb) bt
#0 0x28211e80 in _ftello () from /lib/libc.so.5
#1 0x28211e05 in ftello () from /lib/libc.so.5
#2 0x0804d06e in File::Tell() (this=0xbfbea890) at file.cpp:449
#3 0x0804c2b5 in SaveFilePos (this=0xbfbea420, SaveFile=@0xbfbea890) at savepos.cpp:6
#4 0x0804d26a in File::FileLength() (this=0xbfbea890) at file.cpp:582
#5 0x0805e8ab in CmdExtract::ExtractArchiveInit(CommandData*, Archive&) (this=0xbfbf5760,
Cmd=0xbfbf8d64, Arc=@0xbfbea890) at extract.cpp:56
#6 0x0805eb3c in CmdExtract::ExtractArchive(CommandData*) (this=0xbfbf5760, Cmd=0xbfbf8d64)
at extract.cpp:107
#7 0x0805e774 in CmdExtract::DoExtract(CommandData*) (this=0xbfbf5760, Cmd=0xbfbf8d64)
at extract.cpp:30
#8 0x0806d8fe in CommandData::ProcessCommand() (this=0xbfbf8d64) at cmddata.cpp:977
#9 0x08049b57 in main (argc=9, argv=0xbfbfe894) at rar.cpp:101
#10 0x08049826 in _start ()
Program versions from ports distinfo (most recent):
(unrarsrc-3.3.5.tar.gz)
(rarbsd-3.3.0.tar.gz)
>How-To-Repeat:
$ rar t -inul -p- frt45q.rar
Segmentation fault
$ unrar t -inul -p- frt45q.rar
Segmentation fault
$ rar t frt45q.rar
RAR 3.30 Copyright (c) 1993-2004 Eugene Roshal 22 Jan 2004
Shareware version Type RAR -? for help
Enter password (will not be echoed) for frt45q.rar:
Encrypted file: CRC failed in frt45q.rar
(password incorrect ?)Segmentation fault
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list