When reading some pics (not mine, sorry I don't know which camera produced them) I was getting a warning on the console : "warning: exif tag 0x 4 has invalid format 22963" and a segfault immediatly after. Using gdb it traced it back to function parse_IFD_entry in exif.c : printf("warning: exif tag %s format mismatch, found %s exif spec requests %s\n", marker->key, ExifFormatList[ent->format].short_name, ExifFormatList[marker->format].short_name); does not check if ent->format is within the table range (ie <= EXIF_FORMAT_DOUBLE) and I my case this value was 32 producing a segfault. I attach a small patch to correct this problem. The problem has been reported to developers on SourceForge (#866599). Reproducible: Always Steps to Reproduce: Actual Results: Segfault Expected Results: keep running # emerge info Portage 2.0.49-r18 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20031212-r0, 2.4.22-gentoo-r1) ================================================================= System uname: 2.4.22-gentoo-r1 i686 AMD Duron(tm) Processor Gentoo Base System version 1.4.3.12 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=athlon -O3 -pipe" DISTDIR="/home/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://212.219.56.146/sites/www.ibiblio.org/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://194.83.57.15/sites/www.ibiblio.org/gentoo/ http://212.219.56.152/sites/www.ibiblio.org/gentoo/ ftp://ftp.rhnet.is/pub/gentoo/ http://212.219.56.131/sites/www.ibiblio.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/home/portage/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow X X509 aalib alsa apm arts avi berkdb bonobo cdr crypt cups dga dillo directfb dv dvd encode esd faad fbcon ffmpeg flac foomaticdb gd gdbm ggi gif gnome gnomedb gphoto2 gpm gstreamer gtk gtk2 gtkhtml imlib java jpeg kde libg++ libwww mad matroska mikmod mmx motif mozilla mozsvg mpeg ncurses nls oggvorbis opengl oss pam pdflib perl physfs png ppds python qt quicktime readline scanner sdl slang speex spell sse ssl svga tcltk tcpd tetex tiff transcode truetype usb wmf x86 xface xml xml2 xmms xosd xv xvid zlib"
Created attachment 22735 [details, diff] exif_mismatch_segfault.patch
Created attachment 22736 [details] gqview-1.3.7-r1.ebuild Ebuild to apply the patch above
The patch has been accepted by the development team but will only be applied in 1.3.9 : http://sourceforge.net/tracker/index.php?func=detail&aid=866599&group_id=4050&atid=104050 So new version 1.3.8 still segfault and gqview-1.3.8.ebuild should be modified as qgview-1.3.7.ebuild to apply the proposed patch.
Newer versions in Portage.