src/lib/VSD5Parser.cpp | 1 + src/lib/VSDParser.cpp | 2 +- src/lib/VSDXMLParserBase.cpp | 1 + 3 files changed, 3 insertions(+), 1 deletion(-)
New commits: commit fcddf7e158245164b3e58b52bbd358eb1b10f07a Author: David Tardon <dtar...@redhat.com> Date: Fri Jul 17 17:58:22 2015 +0200 do not leave dangling ptr around Change-Id: I135e6e765bf365c3db41b38e169403b6b13a6ea1 diff --git a/src/lib/VSD5Parser.cpp b/src/lib/VSD5Parser.cpp index 1f1cef0..00cbf06 100644 --- a/src/lib/VSD5Parser.cpp +++ b/src/lib/VSD5Parser.cpp @@ -310,6 +310,7 @@ void libvisio::VSD5Parser::readStyleSheet(librevenge::RVNGInputStream *input) void libvisio::VSD5Parser::readShape(librevenge::RVNGInputStream *input) { m_currentGeomListCount = 0; + m_currentGeometryList = 0; m_isShapeStarted = true; m_shapeList.clear(); if (m_header.id != MINUS_ONE) commit 8a4ec7e656c1ad36d257d267c2faa743f5d93416 Author: David Tardon <dtar...@redhat.com> Date: Fri Jul 17 15:53:49 2015 +0200 do not leave dangling ptr around Change-Id: I4f8de0afaa5e8f7c8f2ff7d5c3bb7369b9b93924 diff --git a/src/lib/VSDXMLParserBase.cpp b/src/lib/VSDXMLParserBase.cpp index 12fe447..33afca9 100644 --- a/src/lib/VSDXMLParserBase.cpp +++ b/src/lib/VSDXMLParserBase.cpp @@ -63,6 +63,7 @@ void libvisio::VSDXMLParserBase::readGeometry(xmlTextReaderPtr reader) { m_currentGeometryList->clear(); m_shape.m_geometries.erase(ix); + m_currentGeometryList = 0; } } return; commit bafa63b6c6c9f620bff667d48668aa80df843cea Author: David Tardon <dtar...@redhat.com> Date: Fri Jul 17 15:52:12 2015 +0200 avoid null ptr deref. Change-Id: I55fe94df71bda97ba5e4e8fe14160c27befe1a0b diff --git a/src/lib/VSDParser.cpp b/src/lib/VSDParser.cpp index 3cb284a..6ce32eb 100644 --- a/src/lib/VSDParser.cpp +++ b/src/lib/VSDParser.cpp @@ -866,7 +866,7 @@ void libvisio::VSDParser::readTextBlock(librevenge::RVNGInputStream *input) void libvisio::VSDParser::readGeomList(librevenge::RVNGInputStream *input) { - if (!m_shape.m_geometries.empty() && m_currentGeometryList->empty()) + if (!m_shape.m_geometries.empty() && m_currentGeometryList && m_currentGeometryList->empty()) m_shape.m_geometries.erase(--m_currentGeomListCount); // Since this is a map, this will default construct an element and then // the m_currentGeometryList pointer takes its address and we will work _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits