diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-09-06 20:31:06 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-09-08 21:09:20 +0000 |
commit | 10da1cf5b1e2446470b4892f0e49132217baf33d (patch) | |
tree | 7327f7ff508f2a64d6e9d4a30dec9e5e52638a06 | |
parent | fftester: missing ValueLast (diff) | |
download | core-10da1cf5b1e2446470b4892f0e49132217baf33d.tar.gz core-10da1cf5b1e2446470b4892f0e49132217baf33d.zip |
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>
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 1910baf9dd96..48a3707a0493 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -2287,12 +2287,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) { |