summaryrefslogtreecommitdiff
path: root/libvisio
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2013-10-18 10:52:04 +0200
committerCaolán McNamara <caolanm@redhat.com>2013-10-18 09:23:29 +0000
commitf295f47b1549a39c0113f4ca3eb0d8bb14844cac (patch)
tree767ca9726a542ac1c067fee33102584465025013 /libvisio
parent01c3253c8e28f6be7f2cc31a6c5e97a19b7eeeba (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.patch26
-rw-r--r--libvisio/UnpackedTarball_libvisio.mk6
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: