From 06e479ac1703ee12bf9a4b7ed3efbfcb3d8cbde9f097102e9337d64e95036838 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 28 Apr 2008 14:20:41 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libexif?expand=0&rev=12 --- libexif-remove-safety.diff | 20 ++++++++++++++++++++ libexif.changes | 6 ++++++ libexif.spec | 7 ++++++- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 libexif-remove-safety.diff diff --git a/libexif-remove-safety.diff b/libexif-remove-safety.diff new file mode 100644 index 0000000..c1795c5 --- /dev/null +++ b/libexif-remove-safety.diff @@ -0,0 +1,20 @@ +--- libexif/exif-data.c 2008-03-17 08:22:12.755318000 +0100 ++++ libexif/exif-data.c 2008-04-28 10:45:27.000000000 +0200 +@@ -1219,8 +1219,16 @@ + exif_log (c->parent->priv->log, EXIF_LOG_CODE_DEBUG, "exif-data", + "No thumbnail but entries on thumbnail. These entries have been " + "removed."); +- while (c->count) ++ while (c->count) { ++ int cnt = c->count; + exif_content_remove_entry (c, c->entries[c->count - 1]); ++ if (cnt == c->count) { ++ /* safety net */ ++ exif_log (c->parent->priv->log, EXIF_LOG_CODE_DEBUG, "exif-data", ++ "failed to remove last entry from entries."); ++ c->count--; ++ } ++ } + } + break; + default: diff --git a/libexif.changes b/libexif.changes index 4508fb5..35f3ef2 100644 --- a/libexif.changes +++ b/libexif.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Apr 28 10:52:57 CEST 2008 - meissner@suse.de + +- fixed endless loop problem in exif_content_remove_entry() + bnc#380716 + ------------------------------------------------------------------- Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de diff --git a/libexif.spec b/libexif.spec index 43b2de3..ef7af13 100644 --- a/libexif.spec +++ b/libexif.spec @@ -18,9 +18,10 @@ License: LGPL v2.1 or later Group: Development/Libraries/C and C++ Summary: An EXIF Tag Parsing Library for Digital Cameras Version: 0.6.16.2 -Release: 21 +Release: 25 BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: %{name}-%{version}.tar.bz2 +Patch0: libexif-remove-safety.diff %description This library is used to parse EXIF information from JPEGs created by @@ -52,6 +53,7 @@ Authors: %prep %setup -q +%patch0 %build %configure \ @@ -88,6 +90,9 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/* %changelog +* Mon Apr 28 2008 meissner@suse.de +- fixed endless loop problem in exif_content_remove_entry() + bnc#380716 * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support