[SCM] libkexiv2 packaging branch, master, updated. debian/4.14.0-1-3-gfd3bc0a

Pino Toscano pino at moszumanska.debian.org
Tue Oct 7 06:32:53 UTC 2014


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-sc/libkexiv2.git;a=commitdiff;h=24cdd0a

The following commit has been merged in the master branch:
commit 24cdd0a636cc19455eab00195dc6cc17b4542c28
Author: Pino Toscano <pino at debian.org>
Date:   Tue Oct 7 08:29:21 2014 +0200

    KDE/4.14 branch pull (#763991)
    
    - backport commit 25ad41274d0f4084554794ee91e183accfce781f to fix
      out-of-bounds crashes when handling metadata
    - backport commit 6b680149626a8b8b5524656ab4b2d9a4ce6cfbae to bump the
      version to 2.3.2, so library users (e.g. digikam) can know this version
      has the above fix
    - backport commit 1af638424c3bc55e5ceac5f4ac6f48ee47f407a7 to avoid useless
      change requests when no actual changes were done
---
 debian/changelog                                   |  11 ++
 debian/patches/series                              |   3 +
 ...and-previous-strings-are-empty-do-nothing.patch |  32 ++++++
 ...vent-crash-if-index-if-out-of-QList-range.patch | 112 +++++++++++++++++++++
 .../upstream_bump-the-version-to-2.3.2.patch       |  26 +++++
 5 files changed, 184 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index d1f66b3..aab617c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,17 @@ libkexiv2 (4:4.14.1-0r1) UNRELEASED; urgency=medium
 
   [ Pino Toscano ]
   * New upstream release.
+  * Backport few upstream patches (basically a KDE/4.14 branch pull):
+    - backport commit 25ad41274d0f4084554794ee91e183accfce781f to fix
+      out-of-bounds crashes when handling metadata; patch
+      upstream_Prevent-crash-if-index-if-out-of-QList-range.patch.
+      (Closes: #763991)
+    - backport commit 6b680149626a8b8b5524656ab4b2d9a4ce6cfbae to bump the
+      version to 2.3.2, so library users (e.g. digikam) can know this version
+      has the above fix; patch upstream_bump-the-version-to-2.3.2.patch.
+    - backport commit 1af638424c3bc55e5ceac5f4ac6f48ee47f407a7 to avoid useless
+      change requests when no actual changes were done; patch
+      upstream_If-edited-and-previous-strings-are-empty-do-nothing.patch.
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Tue, 07 Oct 2014 08:20:25 +0200
 
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..571d70b
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+upstream_Prevent-crash-if-index-if-out-of-QList-range.patch
+upstream_bump-the-version-to-2.3.2.patch
+upstream_If-edited-and-previous-strings-are-empty-do-nothing.patch
diff --git a/debian/patches/upstream_If-edited-and-previous-strings-are-empty-do-nothing.patch b/debian/patches/upstream_If-edited-and-previous-strings-are-empty-do-nothing.patch
new file mode 100644
index 0000000..dafb014
--- /dev/null
+++ b/debian/patches/upstream_If-edited-and-previous-strings-are-empty-do-nothing.patch
@@ -0,0 +1,32 @@
+From 1af638424c3bc55e5ceac5f4ac6f48ee47f407a7 Mon Sep 17 00:00:00 2001
+From: Gilles Caulier <caulier.gilles at gmail.com>
+Date: Sat, 13 Sep 2014 08:32:24 +0200
+Subject: [PATCH] If edited and previous strings are empty, do nothing. BUGS:
+ 152948 FIXED-IN: 4.12.2
+
+(cherry picked from commit d90dcdf2b3cff736176c723246a3522d1e2b1613)
+---
+ libkexiv2/altlangstredit.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/libkexiv2/altlangstredit.cpp b/libkexiv2/altlangstredit.cpp
+index 3e2e32d..987a3ba 100644
+--- a/libkexiv2/altlangstredit.cpp
++++ b/libkexiv2/altlangstredit.cpp
+@@ -458,6 +458,13 @@ void AltLangStrEdit::slotTextChanged()
+     QString editedText   = d->valueEdit->toPlainText();
+     QString previousText = d->values.value(d->currentLanguage);
+ 
++    // Special case : if edited and previous strings are empty, do nothing.
++    // See bug #152948.
++    if (editedText.isEmpty() && previousText.isNull())
++    {
++        return;
++    }
++
+     if (editedText.isEmpty())
+     {
+         slotDeleteValue();
+-- 
+2.1.1
+
diff --git a/debian/patches/upstream_Prevent-crash-if-index-if-out-of-QList-range.patch b/debian/patches/upstream_Prevent-crash-if-index-if-out-of-QList-range.patch
new file mode 100644
index 0000000..24dcbc3
--- /dev/null
+++ b/debian/patches/upstream_Prevent-crash-if-index-if-out-of-QList-range.patch
@@ -0,0 +1,112 @@
+From 25ad41274d0f4084554794ee91e183accfce781f Mon Sep 17 00:00:00 2001
+From: Gilles Caulier <caulier.gilles at gmail.com>
+Date: Tue, 2 Sep 2014 14:04:26 +0200
+Subject: [PATCH] Prevent crash if index if out of QList range.
+
+BUG: 339144
+FIXED-IN: 4.14.2
+---
+ libkexiv2/kexiv2previews.cpp | 27 +++++++++++++++++++++++----
+ 1 file changed, 23 insertions(+), 4 deletions(-)
+
+diff --git a/libkexiv2/kexiv2previews.cpp b/libkexiv2/kexiv2previews.cpp
+index 1570f9c..5bb1f08 100644
+--- a/libkexiv2/kexiv2previews.cpp
++++ b/libkexiv2/kexiv2previews.cpp
+@@ -51,16 +51,17 @@ public:
+ 
+     void load(Exiv2::Image::AutoPtr image_)
+     {
+-        image = image_;
++        image                              = image_;
+ 
+         image->readMetadata();
+ 
+-        manager = new Exiv2::PreviewManager(*image);
++        manager                            = new Exiv2::PreviewManager(*image);
+         Exiv2::PreviewPropertiesList props = manager->getPreviewProperties();
+ 
+         // reverse order of list, which is smallest-first
+         Exiv2::PreviewPropertiesList::reverse_iterator it;
+-        for (it = props.rbegin(); it != props.rend(); ++it)
++
++        for (it = props.rbegin() ; it != props.rend() ; ++it)
+         {
+             properties << *it;
+         }
+@@ -123,6 +124,7 @@ QSize KExiv2Previews::originalSize() const
+ {
+     if (d->image.get())
+         return QSize(d->image->pixelWidth(), d->image->pixelHeight());
++
+     return QSize();
+ }
+ 
+@@ -130,6 +132,7 @@ QString KExiv2Previews::originalMimeType() const
+ {
+     if (d->image.get())
+         return d->image->mimeType().c_str();
++
+     return QString();
+ }
+ 
+@@ -140,31 +143,46 @@ int KExiv2Previews::count()
+ 
+ int KExiv2Previews::dataSize(int index)
+ {
++    if (index < 0 || index >= size()) return 0;
++
+     return d->properties[index].size_;
+ }
+ 
+ int KExiv2Previews::width(int index)
+ {
++    if (index < 0 || index >= size()) return 0;
++
+     return d->properties[index].width_;
+ }
+ 
+ int KExiv2Previews::height(int index)
+ {
++    if (index < 0 || index >= size()) return 0;
++
+     return d->properties[index].height_;
+ }
+ 
+ QString KExiv2Previews::mimeType(int index)
+ {
++    if (index < 0 || index >= size()) return 0;
++
+     return QString::fromLatin1(d->properties[index].mimeType_.c_str());
+ }
+ 
+ QString KExiv2Previews::fileExtension(int index)
+ {
++    if (index < 0 || index >= size()) return 0;
++
+     return QString::fromLatin1(d->properties[index].extension_.c_str());
+ }
+ 
+ QByteArray KExiv2Previews::data(int index)
+ {
++    if (index < 0 || index >= size()) return QByteArray();
++
++    kDebug() << "index: "         << index;
++    kDebug() << "d->properties: " << count();
++
+     try
+     {
+         Exiv2::PreviewImage image = d->manager->getPreviewImage(d->properties[index]);
+@@ -185,7 +203,8 @@ QByteArray KExiv2Previews::data(int index)
+ QImage KExiv2Previews::image(int index)
+ {
+     QByteArray previewData = data(index);
+-    QImage image;
++    QImage     image;
++
+     if (!image.loadFromData(previewData))
+         return QImage();
+ 
+-- 
+2.1.1
+
diff --git a/debian/patches/upstream_bump-the-version-to-2.3.2.patch b/debian/patches/upstream_bump-the-version-to-2.3.2.patch
new file mode 100644
index 0000000..cf60bbe
--- /dev/null
+++ b/debian/patches/upstream_bump-the-version-to-2.3.2.patch
@@ -0,0 +1,26 @@
+From 6b680149626a8b8b5524656ab4b2d9a4ce6cfbae Mon Sep 17 00:00:00 2001
+From: Pino Toscano <pino at kde.org>
+Date: Tue, 7 Oct 2014 07:59:24 +0200
+Subject: [PATCH] bump the version to 2.3.2
+
+This way digikam can know this version has the needed bugfixes for it.
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a4cbb05..ed57e12 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -78,7 +78,7 @@ MACRO_LOG_FEATURE(EXIV2_FOUND "Exiv2" "Required to build libkexiv2." "http://www
+ # Library API version
+ SET(KEXIV2_LIB_MAJOR_VERSION "2")
+ SET(KEXIV2_LIB_MINOR_VERSION "3")
+-SET(KEXIV2_LIB_PATCH_VERSION "1")
++SET(KEXIV2_LIB_PATCH_VERSION "2")
+ 
+ # Suffix to add at end of version string. Usual values are:
+ # "-git"   : alpha code unstable from git. Do not use in production
+-- 
+2.1.1
+

-- 
libkexiv2 packaging



More information about the pkg-kde-commits mailing list