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

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


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

The following commit has been merged in the master branch:
commit a08a33faf5e879ece06adb0b99b5b5d087f639fb
Author: Andreas Huggel <ahuggel at gmx.net>
Date:   Wed Mar 16 14:54:05 2011 +0000

    #764: Applied patch.
---
 src/psdimage.cpp | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/psdimage.cpp b/src/psdimage.cpp
index 550d44e..5a39d7a 100644
--- a/src/psdimage.cpp
+++ b/src/psdimage.cpp
@@ -400,7 +400,7 @@ namespace Exiv2 {
             uint32_t resourceType = getULong(buf, bigEndian);
 
             if (resourceType != kPhotoshopResourceType) {
-                break; // bad resource type
+                throw Error(3, "Photoshop"); // bad resource type
             }
             uint16_t resourceId = getUShort(buf + 4, bigEndian);
             uint32_t resourceNameLength = buf[6];
@@ -416,13 +416,13 @@ namespace Exiv2 {
             if (io_->read(buf, 4) != 4) throw Error(3, "Photoshop");
 
             uint32_t resourceSize = getULong(buf, bigEndian);
+            uint32_t pResourceSize = (resourceSize + 1) & ~1;    // padded resource size
             uint32_t curOffset = io_->tell();
 
             // Write IPTC_NAA resource block
             if ((resourceId == kPhotoshopResourceID_IPTC_NAA  ||
                  resourceId >  kPhotoshopResourceID_IPTC_NAA) && iptcDone == false) {
                 newResLength += writeIptcData(iptcData_, outIo);
-                resourceSize = (resourceSize + 1) & ~1;    // adjust for padding
                 iptcDone = true;
             }
 
@@ -430,7 +430,6 @@ namespace Exiv2 {
             else if ((resourceId == kPhotoshopResourceID_ExifInfo  ||
                       resourceId >  kPhotoshopResourceID_ExifInfo) && exifDone == false) {
                 newResLength += writeExifData(exifData_, outIo);
-                resourceSize = (resourceSize + 1) & ~1;    // adjust for padding
                 exifDone = true;
             }
 
@@ -438,7 +437,6 @@ namespace Exiv2 {
             else if ((resourceId == kPhotoshopResourceID_XMPPacket  ||
                       resourceId >  kPhotoshopResourceID_XMPPacket) && xmpDone == false) {
                 newResLength += writeXmpData(xmpData_, outIo);
-                resourceSize = (resourceSize + 1) & ~1;    // adjust for padding
                 xmpDone = true;
             }
 
@@ -467,10 +465,9 @@ namespace Exiv2 {
 
                 readTotal = 0;
                 toRead = 0;
-                resourceSize = (resourceSize + 1) & ~1;        // pad to even
-                while (readTotal < resourceSize) {
-                    toRead =   static_cast<long>(resourceSize - readTotal) < lbuf.size_
-                             ? static_cast<long>(resourceSize - readTotal) : lbuf.size_;
+                while (readTotal < pResourceSize) {
+                    toRead =   static_cast<long>(pResourceSize - readTotal) < lbuf.size_
+                             ? static_cast<long>(pResourceSize - readTotal) : lbuf.size_;
                     if (io_->read(lbuf.pData_, toRead) != toRead) {
                         throw Error(3, "Photoshop");
                     }
@@ -478,11 +475,11 @@ namespace Exiv2 {
                     if (outIo.write(lbuf.pData_, toRead) != toRead) throw Error(21);
                 }
                 if (outIo.error()) throw Error(21);
-                newResLength += resourceSize + adjResourceNameLen + 12;
+                newResLength += pResourceSize + adjResourceNameLen + 12;
             }
 
-            io_->seek(curOffset + resourceSize, BasicIo::beg);
-            oldResLength -= (12 + adjResourceNameLen + resourceSize);
+            io_->seek(curOffset + pResourceSize, BasicIo::beg);
+            oldResLength -= (12 + adjResourceNameLen + pResourceSize);
         }
 
         // Append IPTC_NAA resource block, if not yet written

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list