Files
odfstudio/tools/source/stream
Stephan Bergmann b25fd58a1e -fsanitize=nullptr-with-nonzero-offset
...(new with Clang 10 trunk), as seen during CppunitTest_emfio_wmf:

> tools/source/stream/stream.cxx:808:32: runtime error: applying non-zero offset 10 to null pointer
>  #0 in SvStream::SeekRel(long) at tools/source/stream/stream.cxx:808:32
>  #1 in (anonymous namespace)::ImplReadDIBFileHeader(SvStream&, unsigned long&) at vcl/source/gdi/dibtools.cxx:1085:19
>  #2 in (anonymous namespace)::ImplReadDIB(Bitmap&, AlphaMask*, SvStream&, bool, bool, bool) at vcl/source/gdi/dibtools.cxx:1656:12
>  #3 in ReadDIB(Bitmap&, SvStream&, bool, bool) at vcl/source/gdi/dibtools.cxx:1738:12
>  #4 in emfio::EmfReader::ReadEnhWMF() at emfio/source/reader/emfreader.cxx:1507:33
>  #5 in emfio::emfreader::XEmfParser::getDecomposition(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at emfio/source/emfuno/xemfparser.cxx:148:72
>  #6 in non-virtual thunk to emfio::emfreader::XEmfParser::getDecomposition(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at emfio/source/emfuno/xemfparser.cxx
>  #7 in VectorGraphicData::ensureSequenceAndRange() at vcl/source/gdi/vectorgraphicdata.cxx:172:137
>  #8 in VectorGraphicData::getPrimitive2DSequence() const at vcl/source/gdi/vectorgraphicdata.cxx:279:45
>  #9 in ImpGraphic::ImplGetGDIMetaFile() const at vcl/source/gdi/impgraph.cxx:844:110
>  #10 in Graphic::GetGDIMetaFile() const at vcl/source/gdi/graph.cxx:365:26
>  #11 in ReadWindowMetafile(SvStream&, GDIMetaFile&) at vcl/source/filter/wmf/wmf.cxx:62:25
>  #12 in WmfTest::testEmfProblem() at emfio/qa/cppunit/wmf/wmfimporttest.cxx:116:5

An invariant of SvStream appears to be that m_pRWBuf can be null and that
m_pBufPos is null iff m_pRWBuf is null.  So don't update m_pBufPos here when
m_pRWBuf is null.  (And assert the assumed invariant.)

Change-Id: Iad2eb2723394f5564d43dfa8a3a1a8b8de79158d
Reviewed-on: https://gerrit.libreoffice.org/81237
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-21 19:18:25 +02:00
..
2019-07-18 21:16:52 +02:00