From 5c977ed79609e9d9b4f00da0f6fff0d1d2f2394c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Tue, 22 May 2012 14:25:18 +0200 Subject: [PATCH] Compiler: Ensure that foreach always generates a node. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes LysLysKOM 19705902: | 19705902 2012-05-22 12:22 /4 rader/ Martin Nilsson (Opera Mini - AFK!) | Mottagare: Henrik Grubbström (Lysator) <11101> | Mottagare: Martin Nilsson (Opera Mini - AFK!) <14470> | Mottaget: 2012-05-22 12:22 | Ärende: Parser bug | ------------------------------------------------------------ | | Pike v7.9 release 5 running Hilfe v3.5 (Incremental Pike Frontend) | > foreach(f, mapping(string:string)); | Segmentation fault | (19705902) /Martin Nilsson (Opera Mini - AFK!)/----- --- src/language.yacc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/language.yacc b/src/language.yacc index 51c214afd0..acc798b5bc 100644 --- a/src/language.yacc +++ b/src/language.yacc @@ -3225,8 +3225,7 @@ foreach: TOK_FOREACH $9); } else { /* Error in lvalue */ - free_node($6); - $$=$9; + $$=mknode(F_COMMA_EXPR, mkcastnode(void_type_string, $6), $9); } COPY_LINE_NUMBER_INFO($$, $3); free_node ($3); -- GitLab