Hello community, here is the log from the commit of package libgexiv2 for openSUSE:Factory checked in at Mon Sep 13 18:37:52 CEST 2010. -------- --- GNOME/libgexiv2/libgexiv2.changes 2010-08-26 10:05:32.000000000 +0200 +++ libgexiv2/libgexiv2.changes 2010-09-11 18:38:47.000000000 +0200 @@ -1,0 +2,7 @@ +Sat Sep 11 18:35:42 CEST 2010 - vuntz@opensuse.org + +- Update to version 0.2.1: + + Fixes a crash when an opened file has more than one + Exif.Image.Orientation and the first one is empty. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- libgexiv2-0.2.0.tar.bz2 New: ---- libgexiv2-0.2.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libgexiv2.spec ++++++ --- /var/tmp/diff_new_pack.CncQXm/_old 2010-09-13 18:36:28.000000000 +0200 +++ /var/tmp/diff_new_pack.CncQXm/_new 2010-09-13 18:36:28.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package libgexiv2 (Version 0.2.0) +# spec file for package libgexiv2 (Version 0.2.1) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -18,7 +18,7 @@ Name: libgexiv2 -Version: 0.2.0 +Version: 0.2.1 Release: 1 License: GPLv2+ Summary: A GObject-based Exiv2 wrapper ++++++ libgexiv2-0.2.0.tar.bz2 -> libgexiv2-0.2.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgexiv2-0.2.0/Makefile new/libgexiv2-0.2.1/Makefile --- old/libgexiv2-0.2.0/Makefile 2010-08-21 01:07:07.000000000 +0200 +++ new/libgexiv2-0.2.1/Makefile 2010-09-10 23:52:54.000000000 +0200 @@ -1,5 +1,5 @@ PKGNAME = gexiv2 -VERSION = 0.2.0 +VERSION = 0.2.1 LIBRARY = lib$(PKGNAME) LIBRARY_BIN = $(LIBRARY).la @@ -153,7 +153,8 @@ rm -f $(DESTDIR)$(PREFIX)/share/vala/vapi/$(PKGNAME).vapi $(VAPI_FILE): $(EXPANDED_VAPI_INPUT) $(DESTDIR_HEADER_FILES) Makefile $(CONFIG_IN) - @pkg-config --exists --print-errors $(PKGNAME) + @echo NOTE: This version of gexiv2 must be installed to generate a VAPI file. + @pkg-config --exact-version=$(VERSION) --print-errors $(PKGNAME) vala-gen-introspect $(PKGNAME) vapi vapigen --library=$(PKGNAME) --metadata=vapi/$(PKGNAME).metadata vapi/$(PKGNAME).gi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgexiv2-0.2.0/NEWS new/libgexiv2-0.2.1/NEWS --- old/libgexiv2-0.2.0/NEWS 2010-08-21 01:07:07.000000000 +0200 +++ new/libgexiv2-0.2.1/NEWS 2010-09-10 23:52:54.000000000 +0200 @@ -1,3 +1,10 @@ +gexiv2 0.2.1 - 10 September 2010 +-------------------------------- + + * Fixes a crash when an opened file has more than one Exif.Image.Orientation + and the first one is empty. (http://trac.yorba.org/ticket/2514) + + gexiv2 0.2.0 - 20 August 2010 ----------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgexiv2-0.2.0/gexiv2/gexiv2-metadata.cpp new/libgexiv2-0.2.1/gexiv2/gexiv2-metadata.cpp --- old/libgexiv2-0.2.0/gexiv2/gexiv2-metadata.cpp 2010-08-21 01:07:07.000000000 +0200 +++ new/libgexiv2-0.2.1/gexiv2/gexiv2-metadata.cpp 2010-09-10 23:52:54.000000000 +0200 @@ -505,6 +505,18 @@ Exiv2::ExifKey std_key ("Exif.Image.Orientation"); it = exif_data.findKey (std_key); + + // TODO: This was added in response to http://trac.yorba.org/ticket/2514 + // The user supplied a file to us with two Exif.Image.Orientation fields, one reported (the + // first) as zero by exiv2. I discovered that field has a count() of zero, or is emtpy, + // which causes a segfault when the iterator is dereferenced. + // + // This searches for the first matching non-empty key. A better solution would be to guard + // against this in all searches for all domains, but that's too much of a change for now. + // We'll probably need to do this for the next release. + while (it != exif_data.end() && it->count() == 0) + it++; + if (it != exif_data.end ()) { GExiv2Orientation orientation = (GExiv2Orientation) it->toLong (); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org