diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-01-21 10:23:40 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-01-21 12:35:45 +0100 |
commit | fdc91f7493171ae600ecb293ad380df5fa77a277 (patch) | |
tree | 8ba6d7923e0d372c9d6fd9d8f2a84df5ad7fc2b4 | |
parent | ofz#11275 erase via position (diff) | |
download | core-fdc91f7493171ae600ecb293ad380df5fa77a277.tar.gz core-fdc91f7493171ae600ecb293ad380df5fa77a277.zip |
ofz#9707 avoid timeout on excessive EndGroups without matching BeginGroups
Change-Id: I6b660ba86ba639935da509623f1041b6fc1debc0
Reviewed-on: https://gerrit.libreoffice.org/66669
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | filter/source/graphicfilter/icgm/actimpr.cxx | 7 | ||||
-rw-r--r-- | sd/qa/unit/data/cgm/pass/ofz9707-slow-1.cgm | bin | 0 -> 25558 bytes |
2 files changed, 4 insertions, 3 deletions
diff --git a/filter/source/graphicfilter/icgm/actimpr.cxx b/filter/source/graphicfilter/icgm/actimpr.cxx index 4d09031925ef..3415656a35f3 100644 --- a/filter/source/graphicfilter/icgm/actimpr.cxx +++ b/filter/source/graphicfilter/icgm/actimpr.cxx @@ -395,14 +395,15 @@ void CGMImpressOutAct::BeginGroup() { maGroupLevel[mnGroupLevel] = maXShapes->getCount(); } - mnGroupLevel++; + ++mnGroupLevel; mnGroupActCount = mpCGM->mnActCount; } void CGMImpressOutAct::EndGroup() { - if ( mnGroupLevel ) // preserve overflow - mnGroupLevel--; + if (!mnGroupLevel) + return; + --mnGroupLevel; if ( mnGroupLevel < CGM_OUTACT_MAX_GROUP_LEVEL ) { sal_uInt32 nFirstIndex = maGroupLevel[mnGroupLevel]; diff --git a/sd/qa/unit/data/cgm/pass/ofz9707-slow-1.cgm b/sd/qa/unit/data/cgm/pass/ofz9707-slow-1.cgm Binary files differnew file mode 100644 index 000000000000..9695f9bbabce --- /dev/null +++ b/sd/qa/unit/data/cgm/pass/ofz9707-slow-1.cgm |