Fix NULL dereferences on %substr missing operands

%substr with dangling id issues SIGSEV. Fix it.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
Cyrill Gorcunov 2010-09-06 23:49:52 +04:00
parent e12c50d274
commit 49cd6fbccf

View File

@ -3395,12 +3395,13 @@ issue_error:
tline = expand_smacro(tline->next);
last->next = NULL;
t = tline->next;
if (tline) /* skip expanded id */
t = tline->next;
while (tok_type_(t, TOK_WHITESPACE))
t = t->next;
/* t should now point to the string */
if (t->type != TOK_STRING) {
if (!tok_type_(t, TOK_STRING)) {
error(ERR_NONFATAL,
"`%%substr` requires string as second parameter");
free_tlist(tline);