sw/qa/core/data/ww8/pass/hang-9.doc |binary sw/source/filter/ww8/ww8scan.cxx | 12 ++++++++---- 2 files changed, 8 insertions(+), 4 deletions(-)
New commits: commit b477a8d5df518cd8c30a1a21e3ffccc8bac88084 Author: Caolán McNamara <caol...@redhat.com> Date: Mon Sep 21 12:14:19 2015 +0100 don't hang on busted subdocument offsets Change-Id: I5d1d18f864496ec98894703f0a22e211a9dd14a5 (cherry picked from commit a2b90cd04733c2ec3b9cb3bb56d95f3298571ecc) Reviewed-on: https://gerrit.libreoffice.org/18748 Reviewed-by: David Tardon <dtar...@redhat.com> Tested-by: David Tardon <dtar...@redhat.com> diff --git a/sw/qa/core/data/ww8/pass/hang-9.doc b/sw/qa/core/data/ww8/pass/hang-9.doc new file mode 100644 index 0000000..4e9e412 Binary files /dev/null and b/sw/qa/core/data/ww8/pass/hang-9.doc differ diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx index c8afe52..2c2a46b 100644 --- a/sw/source/filter/ww8/ww8scan.cxx +++ b/sw/source/filter/ww8/ww8scan.cxx @@ -4431,11 +4431,15 @@ void WW8PLCFxDesc::ReduceByOffset() else nStartPos -= nCpOfs; } - if( nEndPos != WW8_CP_MAX ) + if (nEndPos != WW8_CP_MAX) { - OSL_ENSURE(nCpOfs <= nEndPos, - "oh oh, so much for the subdocument piece theory"); - nEndPos -= nCpOfs; + if (nCpOfs > nEndPos) + { + SAL_WARN("sw.ww8", "broken subdocument piece entry"); + nEndPos = WW8_CP_MAX; + } + else + nEndPos -= nCpOfs; } }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits