diff options
Diffstat (limited to 'sw/qa/extras/htmlexport/htmlexport.cxx')
-rw-r--r-- | sw/qa/extras/htmlexport/htmlexport.cxx | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx b/sw/qa/extras/htmlexport/htmlexport.cxx index 105d90d39b18..5074c5e54e0d 100644 --- a/sw/qa/extras/htmlexport/htmlexport.cxx +++ b/sw/qa/extras/htmlexport/htmlexport.cxx @@ -138,6 +138,7 @@ OLE1Reader::OLE1Reader(SvStream& rStream) { // Skip ObjectHeader, see [MS-OLEDS] 2.2.4. rStream.Seek(0); + CPPUNIT_ASSERT(rStream.remainingSize()); sal_uInt32 nData; rStream.ReadUInt32(nData); // OLEVersion rStream.ReadUInt32(nData); // FormatID @@ -151,6 +152,11 @@ OLE1Reader::OLE1Reader(SvStream& rStream) rStream.ReadUInt32(m_nNativeDataSize); rStream.SeekRel(m_nNativeDataSize); + if (!rStream.remainingSize()) + { + return; + } + rStream.ReadUInt32(nData); // OLEVersion for presentation data CPPUNIT_ASSERT(rStream.good()); rStream.ReadUInt32(nData); // FormatID @@ -1479,6 +1485,13 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqifImageToOle) // - Actual : 0 // i.e. the image was exported as PNG, not as WMF (with a version). CPPUNIT_ASSERT_EQUAL(8, xReader->getWmetafile()); + + // Make sure that the native data byte array is not empty. + SvMemoryStream aOle1; + CPPUNIT_ASSERT(xReader->WriteObjectData(aOle1)); + // Without the accompanying fix in place, this test would have failed, as aOle1 was empty. + OLE1Reader aOle1Reader(aOle1); + CPPUNIT_ASSERT(aOle1Reader.m_nNativeDataSize); } CPPUNIT_PLUGIN_IMPLEMENT(); |