[Libreoffice-commits] core.git: 2 commits - sw/source xmloff/source
Stephan Bergmann
sbergman at redhat.com
Thu Jun 19 08:57:16 PDT 2014
sw/source/filter/ascii/ascatr.cxx | 8 ++++++--
xmloff/source/text/txtparae.cxx | 9 +++++----
2 files changed, 11 insertions(+), 6 deletions(-)
New commits:
commit ef3e481be37a387f6549a561daee890da6712cf5
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Thu Jun 19 17:54:27 2014 +0200
Do not call SwASC_AttrIter::NextPos when nAktSwPos is already SAL_MAX_INT32
...and calculating nAktSwPos + 1 would overflow. Reported by
CppunitTest_sw_odfexport under -sanitize=undefined.
Change-Id: I78bd540851192a768400ce348b42228f9cb10b72
diff --git a/sw/source/filter/ascii/ascatr.cxx b/sw/source/filter/ascii/ascatr.cxx
index 1fb879f..04a5d89 100644
--- a/sw/source/filter/ascii/ascatr.cxx
+++ b/sw/source/filter/ascii/ascatr.cxx
@@ -197,7 +197,7 @@ static Writer& OutASC_SwTxtNode( Writer& rWrt, SwCntntNode& rNode )
const bool bExportSoftHyphens = RTL_TEXTENCODING_UCS2 == rWrt.GetAsciiOptions().GetCharSet() ||
RTL_TEXTENCODING_UTF8 == rWrt.GetAsciiOptions().GetCharSet();
- do {
+ for (;;) {
const sal_Int32 nNextAttr = std::min(aAttrIter.WhereNext(), nEnd);
if( !aAttrIter.OutAttr( nStrPos ))
@@ -209,8 +209,12 @@ static Writer& OutASC_SwTxtNode( Writer& rWrt, SwCntntNode& rNode )
rWrt.Strm().WriteUnicodeOrByteText( aOutStr );
}
nStrPos = nNextAttr;
+ if (nStrPos >= nEnd)
+ {
+ break;
+ }
aAttrIter.NextPos();
- } while( nStrPos < nEnd );
+ }
if( !bLastNd ||
( ( !rWrt.bWriteClipboardDoc && !rWrt.bASCII_NoLastLineEnd )
commit d8e7624c9a874aee3ab782715117b118ddd0c496
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Thu Jun 19 17:51:36 2014 +0200
Do not dereference null pointer
...and XMLTextCharStyleNamesElementExport only requires a non-null rPropSet arg
when its bDoSomething arg is true.
Reported by CppunitTest_sw_odfexport under -sanitize=undefined.
Change-Id: Ia45fa7db250f83d746829c7f411e78bbc50bf721
diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
index 7c91085..108fe8e 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -2843,11 +2843,12 @@ void XMLTextParagraphExport::exportAnyTextFrame(
else
bIsUICharStyle = false;
+ bool bDoSomething = bIsUICharStyle
+ && aCharStyleNamesPropInfoCache.hasProperty( *pRangePropSet );
XMLTextCharStyleNamesElementExport aCharStylesExport(
- GetExport(), bIsUICharStyle &&
- aCharStyleNamesPropInfoCache.hasProperty(
- *pRangePropSet ), bHasAutoStyle,
- *pRangePropSet, sCharStyleNames );
+ GetExport(), bDoSomething, bHasAutoStyle,
+ bDoSomething ? *pRangePropSet : Reference<XPropertySet>(),
+ sCharStyleNames );
if( !sStyle.isEmpty() )
GetExport().AddAttribute( XML_NAMESPACE_TEXT, XML_STYLE_NAME,
More information about the Libreoffice-commits
mailing list