aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.y
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2019-01-21 21:16:18 +0200
committerArnold D. Robbins <arnold@skeeve.com>2019-01-21 21:16:18 +0200
commita15d26988f7878d57c85ab99c17a0085fe632288 (patch)
tree28b7f208b8c94d6b334f8b9b481ff23272524a06 /awkgram.y
parent9a0812e1b5ed67c3e75e70749a7e2a54f9c2bfcc (diff)
downloadegawk-a15d26988f7878d57c85ab99c17a0085fe632288.tar.gz
egawk-a15d26988f7878d57c85ab99c17a0085fe632288.tar.bz2
egawk-a15d26988f7878d57c85ab99c17a0085fe632288.zip
Fix last namespace leak in test suite via change during parsing.
Diffstat (limited to 'awkgram.y')
-rw-r--r--awkgram.y6
1 files changed, 6 insertions, 0 deletions
diff --git a/awkgram.y b/awkgram.y
index 85f3e014..42a51258 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -2188,6 +2188,12 @@ simple_variable
| NAME subscript_list
{
char *arr = $1->lextok;
+ char *qname = qualify_name(arr, strlen(arr));
+
+ if (qname != arr) {
+ efree((void *)arr);
+ arr = $1->lextok = qname;
+ }
$1->memory = variable($1->source_line, arr, Node_var_new);
$1->opcode = Op_push_array;
$$ = list_prepend($2, $1);