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

Julien Nabet serval2412 at yahoo.fr
Sun Apr 17 13:47:29 UTC 2016


 basic/source/comp/loops.cxx |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 2f3dcc44cecf34e00bf7bfc48640915ac87e29b5
Author: Julien Nabet <serval2412 at yahoo.fr>
Date:   Sun Apr 17 14:23:17 2016 +0200

    tdf#99357: Basic, return if .with pNode null
    
    Program received signal SIGSEGV, Segmentation fault.
    0x00002aaaaed9741e in SbiExprNode::GetVar (this=0x0) at /home/julien/lo/libreoffice/basic/source/comp/exprnode.cxx:118
    118	    if( eNodeType == SbxVARVAL )
    (gdb) bt
    0  0x00002aaaaed9741e in SbiExprNode::GetVar (this=0x0) at /home/julien/lo/libreoffice/basic/source/comp/exprnode.cxx:118
    1  0x00002aaaaed9afd6 in SbiParser::With (this=0x50eac70) at /home/julien/lo/libreoffice/basic/source/comp/loops.cxx:266
    2  0x00002aaaaed9d1a7 in SbiParser::Parse (this=0x50eac70) at /home/julien/lo/libreoffice/basic/source/comp/parser.cxx:437
    
    Change-Id: If0ecacd007a14e2ba81181da0fe472ea667c4cb7
    Reviewed-on: https://gerrit.libreoffice.org/24147
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>

diff --git a/basic/source/comp/loops.cxx b/basic/source/comp/loops.cxx
index 198f2b2..ae973d4 100644
--- a/basic/source/comp/loops.cxx
+++ b/basic/source/comp/loops.cxx
@@ -263,6 +263,8 @@ void SbiParser::With()
     SbiExpression aVar( this, SbOPERAND );
 
     SbiExprNode *pNode = aVar.GetExprNode()->GetRealNode();
+    if (!pNode)
+        return;
     SbiSymDef* pDef = pNode->GetVar();
     // Variant, from 27.6.1997, #41090: empty -> must be Object
     if( pDef->GetType() == SbxVARIANT || pDef->GetType() == SbxEMPTY )


More information about the Libreoffice-commits mailing list