writerfilter/source/rtftok/rtfdocumentimpl.cxx | 4 ++-- writerfilter/source/rtftok/rtftokenizer.cxx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
New commits: commit 4112594d60961d2d1a6b0f90422ce1b0924bf07d Author: Caolán McNamara <caol...@redhat.com> Date: Tue Sep 6 20:19:04 2016 +0100 rtf: don't skip backwards on skipping bin specified bytes otherwise we could end up re-parsing the block endlessly Change-Id: Ia90a9e5b513951c91e1917483f9e030dbee98ffb Reviewed-on: https://gerrit.libreoffice.org/28710 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/writerfilter/source/rtftok/rtftokenizer.cxx b/writerfilter/source/rtftok/rtftokenizer.cxx index cb78085..1afbc10 100644 --- a/writerfilter/source/rtftok/rtftokenizer.cxx +++ b/writerfilter/source/rtftok/rtftokenizer.cxx @@ -285,7 +285,7 @@ RTFError RTFTokenizer::dispatchKeyword(OString& rKeyword, bool bParam, int nPara { // skip binary data explicitely, to not trip over rtf markup // control characters - if (rKeyword.equals("bin")) + if (rKeyword.equals("bin") && nParam > 0) Strm().SeekRel(nParam); return RTFError::OK; } commit 10da1cf5b1e2446470b4892f0e49132217baf33d Author: Caolán McNamara <caol...@redhat.com> Date: Tue Sep 6 20:31:06 2016 +0100 rtf: throw early on a bad nestrow token Reviewed-on: https://gerrit.libreoffice.org/28708 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit 5e9982668224345f901631d664985e823530e05a) Change-Id: I9de8d09bce18fd1e8a145617794594a99a5f996e Reviewed-on: https://gerrit.libreoffice.org/28713 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 1910baf..48a3707 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) {
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits