diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-01-09 11:30:00 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-01-09 12:05:38 +0000 |
commit | 201f99919253b370437d754137964d2757852079 (patch) | |
tree | 549aa124dc7808fed9d52f70ad2f1ef938bc9ee4 /sw | |
parent | c23bed10cdb86a23aa70d1ea0484fe5bab639ea4 (diff) |
asan: global-buffer-overflow on ooo12093-1.doc
Change-Id: I5e29626fe2803d2751bdec9c6919662ea37cf64c
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/ww8/ww8par.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index b763ba5e7acf..d8421d271d20 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -5025,7 +5025,8 @@ sal_uLong SwWW8ImplReader::CoreLoad(WW8Glossary *pGloss, const SwPosition &rPos) aInfo.ePos = FTNPOS_PAGE; aInfo.eNum = eNumA[pWDop->rncFtn]; - aInfo.aFmt.SetNumberingType( static_cast< sal_uInt16 >(eNumTA[pWDop->nfcFtnRef]) ); + sal_uInt16 nfcFtnRef = pWDop->nfcFtnRef & 0xF; + aInfo.aFmt.SetNumberingType( static_cast< sal_uInt16 >(eNumTA[nfcFtnRef]) ); if( pWDop->nFtn ) aInfo.nFtnOffset = pWDop->nFtn - 1; rDoc.SetFtnInfo( aInfo ); @@ -5034,8 +5035,8 @@ sal_uLong SwWW8ImplReader::CoreLoad(WW8Glossary *pGloss, const SwPosition &rPos) { SwEndNoteInfo aInfo; aInfo = rDoc.GetEndNoteInfo(); // Same as for Ftn - - aInfo.aFmt.SetNumberingType( static_cast< sal_uInt16 >(eNumTA[pWDop->nfcEdnRef]) ); + sal_uInt16 nfcEdnRef = pWDop->nfcEdnRef & 0xF; + aInfo.aFmt.SetNumberingType( static_cast< sal_uInt16 >(eNumTA[nfcEdnRef]) ); if( pWDop->nEdn ) aInfo.nFtnOffset = pWDop->nEdn - 1; rDoc.SetEndNoteInfo( aInfo ); |