[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:37:17 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=f4adc65

The following commit has been merged in the master branch:
commit f4adc6528b992876e67a5d054fe779e2783dcec0
Author: Andreas Huggel <ahuggel at gmx.net>
Date:   Sat Nov 12 17:10:47 2005 +0000

    Changed Exif parser to skip broken Ifds if possible. Fixes bug #443.
---
 src/exif.cpp | 195 +++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 110 insertions(+), 85 deletions(-)

diff --git a/src/exif.cpp b/src/exif.cpp
index fd0780a..4040e20 100644
--- a/src/exif.cpp
+++ b/src/exif.cpp
@@ -255,7 +255,7 @@ namespace Exiv2 {
         }
 
         return 0;
-    } // TiffThumbnail::read
+    } // TiffThumbnail::setDataArea
 
     const char* TiffThumbnail::format() const
     {
@@ -478,104 +478,123 @@ namespace Exiv2 {
         pIfd0_ = new Ifd(ifd0Id, 0, false);
         assert(pIfd0_ != 0);
         rc = pIfd0_->read(pData_, size_, pTiffHeader_->offset(), byteOrder());
-        if (rc) return rc;
+        if (rc) return rc; // no point to continue if there is no IFD0
 
         delete pExifIfd_;
-        pExifIfd_ = new Ifd(exifIfdId, 0, false);
-        assert(pExifIfd_ != 0);
+        pExifIfd_ = 0;
+        std::auto_ptr<Ifd> tmpExif(new Ifd(exifIfdId, 0, false));
+        assert(tmpExif.get() != 0);
         // Find and read ExifIFD sub-IFD of IFD0
-        rc = pIfd0_->readSubIfd(*pExifIfd_, pData_, size_, byteOrder(), 0x8769);
-        if (rc) return rc;
-        // Find MakerNote in ExifIFD, create a MakerNote class
-        Ifd::iterator pos = pExifIfd_->findTag(0x927c);
-        Ifd::iterator make = pIfd0_->findTag(0x010f);
-        Ifd::iterator model = pIfd0_->findTag(0x0110);
-        if (   pos != pExifIfd_->end()
-            && make != pIfd0_->end() && model != pIfd0_->end()) {
-            // Todo: The conversion to string assumes that there is a 

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list