compiler/libec/grammar: Fixed null pointer crash
authorJerome St-Louis <jerome@ecere.com>
Fri, 24 Jun 2016 22:32:02 +0000 (18:32 -0400)
committerJerome St-Louis <jerome@ecere.com>
Sat, 2 Jul 2016 20:42:00 +0000 (16:42 -0400)
compiler/libec/src/grammar.ec
compiler/libec/src/grammar.y

index f847f95..2cd950d 100644 (file)
@@ -19701,7 +19701,7 @@ yyreduce:
 /* Line 1464 of yacc.c  */
 #line 2637 "grammar.y"
     {
-      char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
+      char * colon = (yyvsp[(1) - (1)].specifier).name ? RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false) : null;
       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
       FreeSpecifier((yyvsp[(1) - (1)].specifier));
index 379f608..c70599d 100644 (file)
@@ -2635,7 +2635,7 @@ direct_declarator_nofunction_type_ok:
      direct_declarator_nofunction
    | base_strict_type
    {
-      char * colon = RSearchString($1.name, "::", strlen($1.name), true, false);
+      char * colon = $1.name ? RSearchString($1.name, "::", strlen($1.name), true, false) : null;
       String s = colon ? colon + 2 : $1.name;
       $$ = MkDeclaratorIdentifier(MkIdentifier(s));
       FreeSpecifier($1);