diff -Nru libextractor-1.9/debian/changelog libextractor-1.9/debian/changelog --- libextractor-1.9/debian/changelog 2019-08-31 15:47:24.000000000 +0000 +++ libextractor-1.9/debian/changelog 2020-02-06 00:44:33.000000000 +0000 @@ -1,3 +1,9 @@ +libextractor (1:1.9-2+rpi1) bullseye-staging; urgency=medium + + * Add patch from upstream to fix build with exiv2 0.27 + + -- Peter Michael Green Thu, 06 Feb 2020 00:44:33 +0000 + libextractor (1:1.9-2) unstable; urgency=high * Add a patch from upstream to fix heap-based buffer over-read diff -Nru libextractor-1.9/debian/patches/exiv2-0.27.patch libextractor-1.9/debian/patches/exiv2-0.27.patch --- libextractor-1.9/debian/patches/exiv2-0.27.patch 1970-01-01 00:00:00.000000000 +0000 +++ libextractor-1.9/debian/patches/exiv2-0.27.patch 2020-02-06 00:44:06.000000000 +0000 @@ -0,0 +1,137 @@ +This Debian patch is based on the upstream commit +desribed below, but with the modifications to the upstream +"Changelog" file removed. + +commit 1ecee9a47717e36cb8a3925d011d1a6de11d631c +Author: Christian Grothoff +Date: Mon Jul 29 17:58:18 2019 +0200 + + importing patch from Gentoo/AS to address exiv2 build issue (#5820) + +diff --git a/AUTHORS b/AUTHORS +index 4ef8ad4..fc4c189 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -4,6 +4,7 @@ LRN + + Developers: + Andreas Huggel ++Andreas Strumlechner + Blake Matheny + Bruno Cabral + Bruno Haible +diff --git a/src/plugins/exiv2_extractor.cc b/src/plugins/exiv2_extractor.cc +index 8741d40..ef402a8 100644 +--- a/src/plugins/exiv2_extractor.cc ++++ b/src/plugins/exiv2_extractor.cc +@@ -27,10 +27,7 @@ + #include + #include + #include +-#include +-#include +-#include +-#include ++#include + + /** + * Enable debugging to get error messages. +@@ -180,7 +177,7 @@ public: + * + * @return -1 on error + */ +-#if EXIV2_VERSION >= EXIV2_MAKE_VERSION(0,26,0) ++#if EXIV2_TEST_VERSION(0,26,0) + virtual size_t size (void) const; + #else + virtual long int size (void) const; +@@ -316,7 +313,11 @@ ExtractorIO::getb () + const unsigned char *r; + + if (1 != ec->read (ec->cls, &data, 1)) ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + r = (const unsigned char *) data; + return *r; + } +@@ -371,7 +372,11 @@ ExtractorIO::putb (Exiv2::byte data) + void + ExtractorIO::transfer (Exiv2::BasicIo& src) + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -416,7 +421,11 @@ ExtractorIO::seek (long offset, + Exiv2::byte * + ExtractorIO::mmap (bool isWritable) + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -449,7 +458,7 @@ ExtractorIO::tell (void) const + * + * @return -1 on error + */ +-#if EXIV2_VERSION >= EXIV2_MAKE_VERSION(0,26,0) ++#if EXIV2_TEST_VERSION(0,26,0) + size_t + #else + long int +@@ -504,7 +513,11 @@ ExtractorIO::eof () const + std::string + ExtractorIO::path () const + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -517,7 +530,11 @@ ExtractorIO::path () const + std::wstring + ExtractorIO::wpath () const + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + #endif + +@@ -531,7 +548,11 @@ Exiv2::BasicIo::AutoPtr + ExtractorIO::temporary () const + { + fprintf (stderr, "throwing temporary error\n"); ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -697,7 +718,7 @@ EXTRACTOR_exiv2_extract_method (struct EXTRACTOR_ExtractContext *ec) + { + try + { +-#if EXIV2_MAKE_VERSION(0,23,0) <= EXIV2_VERSION ++#if !EXIV2_TEST_VERSION(0,24,0) + Exiv2::LogMsg::setLevel (Exiv2::LogMsg::mute); + #endif + std::auto_ptr eio(new ExtractorIO (ec)); diff -Nru libextractor-1.9/debian/patches/series libextractor-1.9/debian/patches/series --- libextractor-1.9/debian/patches/series 2019-08-31 15:33:06.000000000 +0000 +++ libextractor-1.9/debian/patches/series 2020-02-06 00:42:34.000000000 +0000 @@ -1 +1,2 @@ CVE-2019-15531.patch +exiv2-0.27.patch