aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/exiv2/APKBUILD9
-rw-r--r--main/exiv2/exiv2-0.24-CVE-2014-9449.patch27
-rw-r--r--main/exiv2/fix_libc_definitions.patch11
3 files changed, 14 insertions, 33 deletions
diff --git a/main/exiv2/APKBUILD b/main/exiv2/APKBUILD
index 1a287d6ef2..2acba1eddf 100644
--- a/main/exiv2/APKBUILD
+++ b/main/exiv2/APKBUILD
@@ -11,11 +11,12 @@ depends_dev="expat-dev zlib-dev"
makedepends="$depends_dev bash"
subpackages="$pkgname-dev $pkgname-doc"
source="http://www.exiv2.org/exiv2-$pkgver.tar.gz
- exiv2-0.24-CVE-2014-9449.patch
+ fix_libc_definitions.patch
"
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
+ default_prepare || return 1
cd "$_builddir"
update_config_sub || return 1
}
@@ -34,9 +35,5 @@ package() {
make DESTDIR="$pkgdir" install || return 1
}
-md5sums="258d4831b30f75a01e0234065c6c2806 exiv2-0.25.tar.gz
-c0bf6f948461d47b6e76aaf646b77cb5 exiv2-0.24-CVE-2014-9449.patch"
-sha256sums="c80bfc778a15fdb06f71265db2c3d49d8493c382e516cb99b8c9f9cbde36efa4 exiv2-0.25.tar.gz
-3f51b8c92dbc61e0058ba4ce3e5bd613dc0aed6c7f145bb3c163cd43981aaa8c exiv2-0.24-CVE-2014-9449.patch"
sha512sums="08d4e655ffdde715e0214f4bef01d55aba9b8ba517456a60e254a0f8541c20479e407545db28ca90a69dee8def6941fdd88f9a557fb382ebebe49e363aca8e8e exiv2-0.25.tar.gz
-e5ce775e1760508841ebcedd482e47eaaf82b3f18dfa774e579ce544d25ba990f476ed2fa351724a08c76d4e93f1278a56903eba5f2fec012831524108e7b5a4 exiv2-0.24-CVE-2014-9449.patch"
+06801f1d71d2ac8613c568eb6950776725eb4c06dc424fb9c540516fe31b15c811679c615fba18a3fbc4fac7314020b9bccb8176630bf7de3d75098e5a8d1d81 fix_libc_definitions.patch"
diff --git a/main/exiv2/exiv2-0.24-CVE-2014-9449.patch b/main/exiv2/exiv2-0.24-CVE-2014-9449.patch
deleted file mode 100644
index cf1b46fbf6..0000000000
--- a/main/exiv2/exiv2-0.24-CVE-2014-9449.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -up exiv2-0.24/src/riffvideo.cpp.CVE-2014-9449 exiv2-0.24/src/riffvideo.cpp
---- exiv2-0.24/src/riffvideo.cpp.CVE-2014-9449 2013-12-01 06:13:42.000000000 -0600
-+++ exiv2-0.24/src/riffvideo.cpp 2015-01-05 11:21:42.306728309 -0600
-@@ -856,7 +856,7 @@ namespace Exiv2 {
-
- void RiffVideo::infoTagsHandler()
- {
-- const long bufMinSize = 100;
-+ const long bufMinSize = 10000;
- DataBuf buf(bufMinSize);
- buf.pData_[4] = '\0';
- io_->seek(-12, BasicIo::cur);
-@@ -879,10 +879,14 @@ namespace Exiv2 {
- if(infoSize >= 0) {
- size -= infoSize;
- io_->read(buf.pData_, infoSize);
-+ if(infoSize < 4)
-+ buf.pData_[infoSize] = '\0';
- }
-
- if(tv)
- xmpData_[exvGettext(tv->label_)] = buf.pData_;
-+ else
-+ continue;
- }
- io_->seek(cur_pos + size_external, BasicIo::beg);
- } // RiffVideo::infoTagsHandler
diff --git a/main/exiv2/fix_libc_definitions.patch b/main/exiv2/fix_libc_definitions.patch
new file mode 100644
index 0000000000..1a58b37c36
--- /dev/null
+++ b/main/exiv2/fix_libc_definitions.patch
@@ -0,0 +1,11 @@
+--- a/src/futils.cpp
++++ b/src/futils.cpp
+@@ -333,7 +333,7 @@
+ #ifdef EXV_HAVE_STRERROR_R
+ const size_t n = 1024;
+ // _GNU_SOURCE: See Debian bug #485135
+-# if defined EXV_STRERROR_R_CHAR_P && defined _GNU_SOURCE
++# if defined EXV_STRERROR_R_CHAR_P && defined _GNU_SOURCE && defined GLIBC
+ char *buf = 0;
+ char buf2[n];
+ std::memset(buf2, 0x0, n);