[Libreoffice-commits] core.git: writerfilter/source

Caolán McNamara caolanm at redhat.com
Wed Sep 7 07:30:40 UTC 2016


 writerfilter/source/rtftok/rtfdispatchsymbol.cxx |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 5e9982668224345f901631d664985e823530e05a
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Sep 6 20:31:06 2016 +0100

    rtf: throw early on a bad nestrow token
    
    Change-Id: I9de8d09bce18fd1e8a145617794594a99a5f996e
    Reviewed-on: https://gerrit.libreoffice.org/28708
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
index 36f8562..2529492 100644
--- a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
@@ -202,12 +202,12 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
                           pBuffer->pRowProperties,
                           m_nNestedCells, m_nNestedCurrentCellX);
 
-        assert(m_aStates.top().pCurrentBuffer == &m_aTableBufferStack.back());
-        if (m_aTableBufferStack.size() == 1)
+        if (m_aTableBufferStack.size() == 1 || !m_aStates.top().pCurrentBuffer)
         {
             throw io::WrongFormatException(
                 "mismatch between \\itap and number of \\nestrow", nullptr);
         }
+        assert(m_aStates.top().pCurrentBuffer == &m_aTableBufferStack.back());
         // note: there may be several states pointing to table buffer!
         for (std::size_t i = 0; i < m_aStates.size(); ++i)
         {


More information about the Libreoffice-commits mailing list