[Libreoffice-commits] libvisio.git: src/lib

David Tardon dtardon at redhat.com
Sun May 12 02:35:43 PDT 2013


 src/lib/VSDParser.cpp |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 62a1abdadcba61f9a0d0daf38c442f0cd86c8718
Author: David Tardon <dtardon at redhat.com>
Date:   Sun May 12 11:27:14 2013 +0200

    avoid access to uninit. memory

diff --git a/src/lib/VSDParser.cpp b/src/lib/VSDParser.cpp
index 9fdb8be..1b65ac8 100644
--- a/src/lib/VSDParser.cpp
+++ b/src/lib/VSDParser.cpp
@@ -845,8 +845,12 @@ void libvisio::VSDParser::readTextBlock(WPXInputStream *input)
 void libvisio::VSDParser::readGeomList(WPXInputStream *input)
 {
   if (!m_shape.m_geometries.empty() && m_currentGeometryList->empty())
+  {
     m_shape.m_geometries.erase(--m_currentGeomListCount);
-  m_currentGeometryList = &m_shape.m_geometries[m_currentGeomListCount++];
+    m_currentGeometryList = 0;
+  }
+  if (!m_shape.m_geometries.empty()) // broken file?
+    m_currentGeometryList = &m_shape.m_geometries[m_currentGeomListCount++];
 
   if (m_header.trailer)
   {


More information about the Libreoffice-commits mailing list