summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-07-24 12:18:10 +0100
committerMichael Stahl <michael.stahl@allotropia.de>2021-01-25 14:42:00 +0100
commit5c3381d20871c04c34ac48c1a7aa1dd585f91721 (patch)
tree7bfcd4a68cae0404cfcc6cdb6fab1008c567e3cf /vcl
parent66bd97aeef6c931d4e1082976ab5306a69273d33 (diff)
cid#1209863 Untrusted loop bound
Change-Id: Ic8d20e92b4021dfebe01e1265c3afb2bcd509827 Reviewed-on: https://gerrit.libreoffice.org/76259 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 52b92a591943c1988fd3d660bd6fc5ac53ce0f33)
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/font/fontcharmap.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/vcl/source/font/fontcharmap.cxx b/vcl/source/font/fontcharmap.cxx
index 588dda386f46..5091d226a0af 100644
--- a/vcl/source/font/fontcharmap.cxx
+++ b/vcl/source/font/fontcharmap.cxx
@@ -230,6 +230,11 @@ bool ParseCMAP( const unsigned char* pCmap, int nLength, CmapResult& rResult )
else if( (nFormat == 12) && ((nOffset+16) < nLength) )
{
nRangeCount = GetUInt( pCmap + nOffset + 12 );
+ if (nRangeCount < 0)
+ {
+ SAL_WARN("vcl.gdi", "negative RangeCount");
+ nRangeCount = 0;
+ }
const int nGroupOffset = nOffset + 16;
const int nRemainingLen = nLength - nGroupOffset;