diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-08-11 20:58:22 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-08-11 21:04:42 +0100 |
commit | 0592da19b625975886d3442477f4399660736a69 (patch) | |
tree | 2be132d89ffa89471530f8ffedf680374496cf84 | |
parent | 7b09e2a90cd8b69b466601f70d0513cfe2862e7c (diff) |
avoid another hang with certain .docs
Change-Id: If16e90c5ba1a43ceb9702e752835928da7b3ef32
-rw-r--r-- | sw/qa/core/data/ww8/pass/hang-3.doc | bin | 0 -> 10240 bytes | |||
-rw-r--r-- | sw/source/filter/ww8/ww8par.cxx | 4 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sw/qa/core/data/ww8/pass/hang-3.doc b/sw/qa/core/data/ww8/pass/hang-3.doc Binary files differnew file mode 100644 index 000000000000..4188b801a45b --- /dev/null +++ b/sw/qa/core/data/ww8/pass/hang-3.doc diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index 96c71b7fb12c..aca1430f9d68 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -2287,7 +2287,7 @@ void SwWW8ImplReader::Read_HdFtText(WW8_CP nStart, WW8_CP nLen, SwFrameFormat* p bool SwWW8ImplReader::isValid_HdFt_CP(WW8_CP nHeaderCP) const { // Each CP of Plcfhdd MUST be less than FibRgLw97.ccpHdd - return (nHeaderCP < m_pWwFib->ccpHdr); + return (nHeaderCP < m_pWwFib->ccpHdr && nHeaderCP >= 0); } bool SwWW8ImplReader::HasOwnHeaderFooter(sal_uInt8 nWhichItems, sal_uInt8 grpfIhdt, @@ -2304,7 +2304,7 @@ bool SwWW8ImplReader::HasOwnHeaderFooter(sal_uInt8 nWhichItems, sal_uInt8 grpfIh { bool bOk = true; if( m_bVer67 ) - bOk = ( m_pHdFt->GetTextPos(grpfIhdt, nI, nStart, nLen ) && nLen >= 2 ); + bOk = ( m_pHdFt->GetTextPos(grpfIhdt, nI, nStart, nLen ) && nStart >= 0 && nLen >= 2 ); else { m_pHdFt->GetTextPosExact( static_cast< short >(nNumber + (nSect+1)*6), nStart, nLen); |