summaryrefslogtreecommitdiff
path: root/drawinglayer
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-06-26 11:58:30 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-06-26 15:46:19 +0200
commit9b3f18ceda930f8e80149a850397ff3040b575f0 (patch)
tree5b7a5a2152e6930b2c91c977c5d060c3fb9a0017 /drawinglayer
parentd647dc45b9ae0494e4f3185a6eb85e006b336b00 (diff)
forcepoint#47 bail when we detect the emf is broken
Change-Id: I065635393763af774b45cbba6bd85c4334383b93 Reviewed-on: https://gerrit.libreoffice.org/56457 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'drawinglayer')
-rw-r--r--drawinglayer/source/tools/emfphelperdata.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/drawinglayer/source/tools/emfphelperdata.cxx b/drawinglayer/source/tools/emfphelperdata.cxx
index 78b76ecfe647..c529c255beb1 100644
--- a/drawinglayer/source/tools/emfphelperdata.cxx
+++ b/drawinglayer/source/tools/emfphelperdata.cxx
@@ -830,12 +830,21 @@ namespace emfplushelper
next = rMS.Tell() + (size - 12);
if (size < 12)
+ {
SAL_WARN("drawinglayer", "Size field is less than 12 bytes");
+ break;
+ }
else if (size > length)
+ {
SAL_WARN("drawinglayer", "Size field is greater than bytes left");
+ break;
+ }
if (dataSize > (size - 12))
+ {
SAL_WARN("drawinglayer", "DataSize field is greater than Size-12");
+ break;
+ }
SAL_INFO("drawinglayer", "EMF+ record size: " << size << " type: " << emfTypeToName(type) << " flags: " << flags << " data size: " << dataSize);