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