Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Aug 2009 20:34:28 +0300 (EEST)
From:      Andriy Gapon <avg@icyb.net.ua>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/138272: graphics/exiv2: add patch from upstream
Message-ID:  <200908281734.n7SHYSEg091562@odyssey.starpoint.kiev.ua>
Resent-Message-ID: <200908281750.n7SHo5UJ048049@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         138272
>Category:       ports
>Synopsis:       graphics/exiv2: add patch from upstream
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Aug 28 17:50:03 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Andriy Gapon
>Release:        FreeBSD 7.2-STABLE amd64
>Organization:
>Environment:
exiv2-0.18,1
>Description:
I am getting the following crash when I try to import a certain image with digikam:

#6  0x000000080687a55c in thr_kill () from /lib/libc.so.7
#7  0x0000000806901233 in abort () from /lib/libc.so.7
#8  0x00000008068ea119 in __assert () from /lib/libc.so.7
#9  0x000000080253af0a in Exiv2::Internal::TiffMnEntry::doCount ()
   from /usr/local/lib/libexiv2.so.7
#10 0x000000080253b355 in Exiv2::Internal::TiffDirectory::writeDirEntry ()
   from /usr/local/lib/libexiv2.so.7
#11 0x000000080253e4ff in Exiv2::Internal::TiffDirectory::doWrite ()
   from /usr/local/lib/libexiv2.so.7
#12 0x000000080253c16b in Exiv2::Internal::TiffSubIfd::doWriteData ()
   from /usr/local/lib/libexiv2.so.7
#13 0x000000080253b4bb in Exiv2::Internal::TiffDirectory::doWriteData ()
   from /usr/local/lib/libexiv2.so.7
#14 0x000000080253e6a0 in Exiv2::Internal::TiffDirectory::doWrite ()
   from /usr/local/lib/libexiv2.so.7
#15 0x0000000802542d9e in Exiv2::Internal::TiffParserWorker::encode ()
   from /usr/local/lib/libexiv2.so.7
#16 0x0000000802542ef1 in Exiv2::TiffParser::encode ()
   from /usr/local/lib/libexiv2.so.7
#17 0x00000008024e4382 in Exiv2::ExifParser::encode ()
   from /usr/local/lib/libexiv2.so.7
#18 0x0000000802326b9e in KExiv2Iface::KExiv2::getExif ()
   from /usr/local/lib/libkexiv2.so.5
#19 0x0000000800a78e17 in Digikam::ImagePropertiesSideBarCamGui::itemChanged
    () from /usr/local/lib/libdigikam.so.0

The image was taken with a Nokia phone camera and contains some non-empty
Exif.Photo.MakerNote (type Ascii, size 1088).

I believe that this issue was fixed upstream:
http://dev.exiv2.org/repositories/revision/exiv2/1743
http://dev.exiv2.org/issues/show/615
I applied this change in my local ports tree and it seems to fix the problem.

I also see that Debian folks have included this change into their package of
exiv2. Could we please do the same?

>How-To-Repeat:
Try to import into digikam a suitable image (photo) with non-empty Exif.Photo.MakerNote
that has any type other than 'undefined'.
>Fix:
Please add the following patch obtained from upstream to files/.

--- patch-tiffcomposite.cpp begins here ---
Index: tiffcomposite.cpp
===================================================================
--- src/tiffcomposite.cpp	(revision 1742)
+++ src/tiffcomposite.cpp	(revision 1743)
@@ -688,9 +688,13 @@
 
     uint32_t TiffMnEntry::doCount() const
     {
-        // Count of tag Exif.Photo.MakerNote is the size of the Makernote in bytes
+        if (!mn_) {
+            return TiffEntryBase::doCount();
+        }
+        // Count of IFD makernote in tag Exif.Photo.MakerNote is the size of the
+        // Makernote in bytes
         assert(tiffType() == ttUndefined);
-        return size();
+        return mn_->size();
     }
 
     uint32_t TiffArrayEntry::doCount() const
--- patch-tiffcomposite.cpp ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908281734.n7SHYSEg091562>