sw/source/filter/ww8/ww8par2.cxx |    8 ++++++++
 1 file changed, 8 insertions(+)

New commits:
commit d79935cb3154ca86aca01043d7c196cc161db67b
Author: Caolán McNamara <caol...@redhat.com>
Date:   Tue Apr 4 19:13:12 2017 +0100

    ofz: check olst sprm for valid ANLD payload len
    
    Change-Id: Ic1b6681a3f48ef0fe3f52eda9db8b7bc003ded55
    (cherry picked from commit 98151bf95bda8d647310bdba6936dc6b388b05de)
    Reviewed-on: https://gerrit.libreoffice.org/36099
    Reviewed-by: Michael Stahl <mst...@redhat.com>
    Tested-by: Michael Stahl <mst...@redhat.com>

diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx
index ff6bcb0ca1a7..57d5f644f2b7 100644
--- a/sw/source/filter/ww8/ww8par2.cxx
+++ b/sw/source/filter/ww8/ww8par2.cxx
@@ -917,6 +917,14 @@ void SwWW8ImplReader::Read_OLST( sal_uInt16, const 
sal_uInt8* pData, short nLen
         m_pNumOlst = nullptr;
         return;
     }
+
+    if (static_cast<size_t>(nLen) < sizeof(WW8_OLST))
+    {
+        SAL_WARN("sw.ww8", "WW8_OLST property is " << nLen << " long, needs to 
be at least " << sizeof(WW8_OLST));
+        m_pNumOlst = nullptr;
+        return;
+    }
+
     m_pNumOlst = new WW8_OLST;
     if( nLen < sal::static_int_cast< sal_Int32 >(sizeof( WW8_OLST )) )   // 
fill if to short
         memset( m_pNumOlst, 0, sizeof( *m_pNumOlst ) );
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to