From 066cf565efbb995bf2b787e5c9197cf4f2f798bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Mon, 20 Apr 1998 21:27:05 +0200 Subject: [PATCH] Fixed NULL dereferencing bug. Rev: src/language.yacc:1.55 --- src/language.yacc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/language.yacc b/src/language.yacc index a626d34ace..08623d6cd4 100644 --- a/src/language.yacc +++ b/src/language.yacc @@ -157,7 +157,7 @@ /* This is the grammar definition of Pike. */ #include "global.h" -RCSID("$Id: language.yacc,v 1.54 1998/03/04 16:43:08 grubba Exp $"); +RCSID("$Id: language.yacc,v 1.55 1998/04/20 19:27:05 grubba Exp $"); #ifdef HAVE_MEMORY_H #include <memory.h> #endif @@ -1199,7 +1199,7 @@ low_idents: F_IDENTIFIER $$=mkconstantsvaluenode(sp-1); pop_stack(); }else{ - $$=0; + $$ = 0; if(!num_parse_error) { if( get_master() ) @@ -1213,19 +1213,22 @@ low_idents: F_IDENTIFIER if(throw_value.type == T_STRING) { my_yyerror("%s",throw_value.u.string->str); + $$ = mkintnode(0); } else if(IS_ZERO(sp-1) && sp[-1].subtype==1) { my_yyerror("'%s' undefined.", $1->str); + $$ = mkintnode(0); }else{ - $$=mkconstantsvaluenode(sp-1); + $$ = mkconstantsvaluenode(sp-1); } pop_stack(); }else{ my_yyerror("'%s' undefined.", $1->str); + $$ = mkintnode(0); } } else { - $$=mkintnode(0); + $$ = mkintnode(0); } } free_string($1); -- GitLab