From 17f4dc78e9dfad1b87fb1295810422a91583f306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Sun, 4 May 2014 14:04:28 +0200 Subject: [PATCH] Compiler: Fixed NULL-dereference in new type checker. --- src/language.yacc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/language.yacc b/src/language.yacc index 4f1b8ab92a..ebe908e88e 100644 --- a/src/language.yacc +++ b/src/language.yacc @@ -1375,14 +1375,16 @@ basic_type: identifier_type: idents { - fix_type_field($1); - - if (!pike_types_le($1->type, typeable_type_string) && - (THIS_COMPILATION->lex.pragmas & ID_STRICT_TYPES)) { - yytype_report(REPORT_WARNING, - $1->current_file, $1->line_number, typeable_type_string, - $1->current_file, $1->line_number, $1->type, - 0, "Invalid type."); + if ($1) { + fix_type_field($1); + + if (!pike_types_le($1->type, typeable_type_string) && + (THIS_COMPILATION->lex.pragmas & ID_STRICT_TYPES)) { + yytype_report(REPORT_WARNING, + $1->current_file, $1->line_number, typeable_type_string, + $1->current_file, $1->line_number, $1->type, + 0, "Invalid type."); + } } resolv_constant($1); -- GitLab