From 9ec4987d3bf744a3bc70e27737f3ee2235e91a51 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher <tilghman@meg.abyt.es> Date: Wed, 23 Jun 2010 21:06:40 +0000 Subject: [PATCH] Ensure a NULL file while debugging cannot crash AEL. (closes issue #17215) Reported by: vazir Patches: 20100518__issue17215.diff.txt uploaded by tilghman (license 14) Tested by: tilghman git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272260 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/ael/ael.flex | 2 +- res/ael/ael.tab.c | 2 +- res/ael/ael.y | 2 +- res/ael/ael_lex.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/res/ael/ael.flex b/res/ael/ael.flex index 0674ba8ff1..4d441fb73b 100644 --- a/res/ael/ael.flex +++ b/res/ael/ael.flex @@ -887,7 +887,7 @@ static void setup_filestack(char *fnamebuf2, int fnamebuf_siz, glob_t *globbuf, free(include_stack[include_stack_index].fname); include_stack[include_stack_index].fname = 0; } - include_stack[include_stack_index].fname = strdup(my_file); + include_stack[include_stack_index].fname = strdup(S_OR(my_file, "<none>")); include_stack[include_stack_index].lineno = my_lineno; include_stack[include_stack_index].colno = my_col+yyleng; if (my_file) diff --git a/res/ael/ael.tab.c b/res/ael/ael.tab.c index cbe9d8c337..4d44d44f3a 100644 --- a/res/ael/ael.tab.c +++ b/res/ael/ael.tab.c @@ -3470,7 +3470,7 @@ struct pval *npval(pvaltype type, int first_line, int last_line, z->endline = last_line; z->startcol = first_column; z->endcol = last_column; - z->filename = strdup(my_file); + z->filename = strdup(S_OR(my_file, "<none>")); return z; } diff --git a/res/ael/ael.y b/res/ael/ael.y index c8bc9c78eb..27e04c5834 100644 --- a/res/ael/ael.y +++ b/res/ael/ael.y @@ -854,7 +854,7 @@ struct pval *npval(pvaltype type, int first_line, int last_line, z->endline = last_line; z->startcol = first_column; z->endcol = last_column; - z->filename = strdup(my_file); + z->filename = strdup(S_OR(my_file, "<none>")); return z; } diff --git a/res/ael/ael_lex.c b/res/ael/ael_lex.c index 6517644bde..02d8f82e49 100644 --- a/res/ael/ael_lex.c +++ b/res/ael/ael_lex.c @@ -3444,7 +3444,7 @@ static void setup_filestack(char *fnamebuf2, int fnamebuf_siz, glob_t *globbuf, free(include_stack[include_stack_index].fname); include_stack[include_stack_index].fname = 0; } - include_stack[include_stack_index].fname = strdup(my_file); + include_stack[include_stack_index].fname = strdup(S_OR(my_file, "<none>")); include_stack[include_stack_index].lineno = my_lineno; include_stack[include_stack_index].colno = my_col+yyleng; if (my_file) -- GitLab