diff options
author | Caolán McNamara <caolanm@redhat.com> | 2012-08-08 14:40:08 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2012-08-08 14:45:39 +0100 |
commit | af6f8242ea9b61841f3be23fc5eaca4da79e264a (patch) | |
tree | 0eabacef8b317ccae779dc066a8cb49add47ac4b /sw | |
parent | d7478b2ed7aa139eb17354e4d8b8914c67d0dc34 (diff) |
ensure lcbAtrdExtra is a sane size
Change-Id: I766f8683655eb8f1ca437ab9622f3caefbc83e64
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/ww8/ww8scan.cxx | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx index cd5d1ff76572..fcb61b7b8a8c 100644 --- a/sw/source/filter/ww8/ww8scan.cxx +++ b/sw/source/filter/ww8/ww8scan.cxx @@ -1718,11 +1718,10 @@ WW8ScannerBase::WW8ScannerBase( SvStream* pSt, SvStream* pTblSt, if (pWwFib->fcAtrdExtra && pWwFib->lcbAtrdExtra) { sal_Size nOldPos = pTblSt->Tell(); - if (checkSeek(*pTblSt, pWwFib->fcAtrdExtra)) + if (checkSeek(*pTblSt, pWwFib->fcAtrdExtra) && (pTblSt->remainingSize() >= pWwFib->lcbAtrdExtra)) { pExtendedAtrds = new sal_uInt8[pWwFib->lcbAtrdExtra]; - pWwFib->lcbAtrdExtra = pTblSt->Read(pExtendedAtrds, - pWwFib->lcbAtrdExtra); + pWwFib->lcbAtrdExtra = pTblSt->Read(pExtendedAtrds, pWwFib->lcbAtrdExtra); } else pWwFib->lcbAtrdExtra = 0; |