Merge pull request #7326 from Rmys/master

exiv2-2.27.2:ver. bump
This commit is contained in:
Rmys
2020-01-05 22:01:12 +03:00
committed by GitHub
3 changed files with 75 additions and 11 deletions
+13 -9
View File
@@ -1,23 +1,27 @@
#!/usr/bin/python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import autotools
from pisi.actionsapi import cmaketools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
def setup():
autotools.configure("--disable-static \
--disable-dependency-tracking \
--enable-video \
--disable-rpath")
cmaketools.configure("-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_BUILD_TYPE=Release \
-DEXIV2_ENABLE_VIDEO=yes \
-DEXIV2_ENABLE_WEBREADY=yes \
-DEXIV2_ENABLE_CURL=yes \
-DEXIV2_ENABLE_NLS=ON \
-DEXIV2_BUILD_SAMPLES=no")
def build():
autotools.make()
cmaketools.make()
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
cmaketools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.dodoc("COPYING", "README", "doc/ChangeLog")
pisitools.dodoc("COPYING*", "README*", "doc/ChangeLog")
@@ -0,0 +1,49 @@
diff --git a/src/crwimage_int.cpp b/src/crwimage_int.cpp
index 29311fd..c0d9553 100644
--- a/src/crwimage_int.cpp
+++ b/src/crwimage_int.cpp
@@ -268,6 +268,9 @@ namespace Exiv2 {
#ifdef EXIV2_DEBUG_MESSAGES
std::cout << "Reading directory 0x" << std::hex << tag() << "\n";
#endif
+ if (this->offset() + this->size() > size)
+ throw Error(kerOffsetOutOfRange);
+
readDirectory(pData + offset(), this->size(), byteOrder);
#ifdef EXIV2_DEBUG_MESSAGES
std::cout << "<---- 0x" << std::hex << tag() << "\n";
diff --git a/test/data/POC-file_issue_1019 b/test/data/POC-file_issue_1019
new file mode 100755
index 0000000..e69de29
diff --git a/tests/bugfixes/github/test_issue_1019.py b/tests/bugfixes/github/test_issue_1019.py
new file mode 100644
index 0000000..c2682f9
--- /dev/null
+++ b/tests/bugfixes/github/test_issue_1019.py
@@ -0,0 +1,14 @@
+from system_tests import CaseMeta, path
+
+
+class OverreadInCiffDirectoryReadDirectory(metaclass=CaseMeta):
+
+ filename = path("$data_path/POC-file_issue_1019")
+ commands = ["$exiv2 -pv $filename"]
+ stdout = [""]
+ stderr = [
+ """$exiv2_exception_message $filename:
+$kerOffsetOutOfRange
+"""
+ ]
+ retval = [1]
diff --git a/tests/suite.conf b/tests/suite.conf
index 5b31930..dab7427 100644
--- a/tests/suite.conf
+++ b/tests/suite.conf
@@ -19,6 +19,7 @@ largeiptc_test: ${ENV:exiv2_path}/largeiptc-test${ENV:binary_extension}
easyaccess_test: ${ENV:exiv2_path}/easyaccess-test${ENV:binary_extension}
[variables]
+kerOffsetOutOfRange: Offset out of range
kerFailedToReadImageData: Failed to read image data
kerCorruptedMetadata: corrupted image metadata
kerInvalidMalloc: invalid memory allocation request
+13 -2
View File
@@ -13,13 +13,15 @@
<IsA>app:console</IsA>
<Summary>Another library for parsing, editing, and saving EXIF data</Summary>
<Description>exiv2 is a C++ library and a command line utility to access image metadata. Exiv2 is available as free software and with a commercial license, and is used in a growing number of projects.</Description>
<Archive sha1sum="e68404958ebfbee39354f5aaaa895ac6abf127a2" type="targz">http://www.exiv2.org/builds/exiv2-0.26-trunk.tar.gz</Archive>
<Archive sha1sum="1a72065c95e721b1c21df4f2ee64d8338c6acf94" type="targz">http://www.exiv2.org/builds/exiv2-0.27.2-Source.tar.gz</Archive>
<BuildDependencies>
<Dependency>cmake</Dependency>
<Dependency>curl-devel</Dependency>
<Dependency>zlib-devel</Dependency>
<Dependency>expat-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">exiv2-0.18-deps.patch</Patch>
<Patch level="1">CVE-2019-17402.patch</Patch>
</Patches>
</Source>
@@ -41,6 +43,7 @@
<Name>exiv2-libs</Name>
<RuntimeDependencies>
<Dependency>zlib</Dependency>
<Dependency>curl</Dependency>
<Dependency>expat</Dependency>
<Dependency>libgcc</Dependency>
</RuntimeDependencies>
@@ -57,11 +60,19 @@
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/lib/cmake</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
</Files>
</Package>
<History>
<Update release="6">
<Date>2020-01-05</Date>
<Version>0.27.2</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="5">
<Date>2018-08-07</Date>
<Version>0.26</Version>