diff options
author | David Tardon <dtardon@redhat.com> | 2013-10-18 10:52:04 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-10-18 09:23:29 +0000 |
commit | f295f47b1549a39c0113f4ca3eb0d8bb14844cac (patch) | |
tree | 767ca9726a542ac1c067fee33102584465025013 /libvisio | |
parent | 01c3253c8e28f6be7f2cc31a6c5e97a19b7eeeba (diff) |
fdo#70480 do not crash reading malformed zip
Change-Id: Ibbdf7ce4979f8452c4a662cc9ae3f598cce23126
(cherry picked from commit f2422ab90d92104915b93e96f647a89bbf55ad30)
Signed-off-by: David Tardon <dtardon@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/6313
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'libvisio')
-rw-r--r-- | libvisio/0001-fdo-70480-do-not-crash-reading-malformed-zip.patch | 26 | ||||
-rw-r--r-- | libvisio/UnpackedTarball_libvisio.mk | 6 |
2 files changed, 32 insertions, 0 deletions
diff --git a/libvisio/0001-fdo-70480-do-not-crash-reading-malformed-zip.patch b/libvisio/0001-fdo-70480-do-not-crash-reading-malformed-zip.patch new file mode 100644 index 000000000000..6c7135f36ea4 --- /dev/null +++ b/libvisio/0001-fdo-70480-do-not-crash-reading-malformed-zip.patch @@ -0,0 +1,26 @@ +From 410f564d9a728b983cf11ba9b3eadfc7d59c187c Mon Sep 17 00:00:00 2001 +From: David Tardon <dtardon@redhat.com> +Date: Thu, 17 Oct 2013 10:35:34 +0200 +Subject: [PATCH] fdo#70480 do not crash reading malformed zip + +Change-Id: Ia37e8be5172a49669cb9f7271c5401ca88f39072 +--- + src/lib/VSDZipStream.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/lib/VSDZipStream.cpp b/src/lib/VSDZipStream.cpp +index 3b3e08a..1c12d56 100644 +--- a/src/lib/VSDZipStream.cpp ++++ b/src/lib/VSDZipStream.cpp +@@ -203,6 +203,8 @@ bool libvisio::VSDZipStreamImpl::isZipStream() + return false; + if (!readCentralDirectory(end)) + return false; ++ if (m_cdir.empty()) ++ return false; + CentralDirectoryEntry entry = m_cdir.begin()->second; + m_input->seek(entry.offset, WPX_SEEK_SET); + LocalFileHeader header; +-- +1.8.3.1 + diff --git a/libvisio/UnpackedTarball_libvisio.mk b/libvisio/UnpackedTarball_libvisio.mk index e4c0561f72f8..c2a2000a77b6 100644 --- a/libvisio/UnpackedTarball_libvisio.mk +++ b/libvisio/UnpackedTarball_libvisio.mk @@ -11,4 +11,10 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,libvisio)) $(eval $(call gb_UnpackedTarball_set_tarball,libvisio,$(VISIO_TARBALL))) +$(eval $(call gb_UnpackedTarball_set_patchlevel,libvisio,1)) + +$(eval $(call gb_UnpackedTarball_add_patches,libvisio,\ + libvisio/0001-fdo-70480-do-not-crash-reading-malformed-zip.patch \ +)) + # vim: set noet sw=4 ts=4: |