Allocate empty function name in the string pool.

Inside the grammar for function_identifier if the .function is null an
empty function name is allocated. This is allocated on the stack and
passed into TFunction as a pointer. TFunction just stores that pointer.

Later, when we access the name we will receive an invalid usage of a
stack allocated variable. This CL switches to using NewPoolTStringn for
the empty function name.
This commit is contained in:
Dan Sinclair 2019-02-20 16:30:35 -05:00
parent 58d6905ea0
commit 756bfd0ad1
2 changed files with 4 additions and 4 deletions

View file

@ -473,8 +473,8 @@ function_identifier
if ($$.function == 0) {
// error recover
TString empty("");
$$.function = new TFunction(&empty, TType(EbtVoid), EOpNull);
TString* empty = NewPoolTString("");
$$.function = new TFunction(empty, TType(EbtVoid), EOpNull);
}
}
| non_uniform_qualifier {