summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-09-06 20:31:06 +0100
committerAndras Timar <andras.timar@collabora.com>2016-09-20 23:05:15 +0200
commita36e0309e91d530ac5fd5c4dddbfef52a7eec246 (patch)
tree1176902a2368c1320e6e6043dd12638253956c77 /writerfilter
parent941430c15a1e096afacfee8d40775640c8a6d781 (diff)
rtf: throw early on a bad nestrow token
Reviewed-on: https://gerrit.libreoffice.org/28708 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 5e9982668224345f901631d664985e823530e05a) Change-Id: I9de8d09bce18fd1e8a145617794594a99a5f996e Reviewed-on: https://gerrit.libreoffice.org/28713 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 10da1cf5b1e2446470b4892f0e49132217baf33d)
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 1b07d9b3135f..2f5569d95661 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2308,12 +2308,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 (size_t i = 0; i < m_aStates.size(); ++i)
{