diff options
Diffstat (limited to 'funcs/func_logic.c')
-rw-r--r-- | funcs/func_logic.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/funcs/func_logic.c b/funcs/func_logic.c index 5f324c634..d1d96abf3 100644 --- a/funcs/func_logic.c +++ b/funcs/func_logic.c @@ -55,7 +55,10 @@ static char *builtin_function_iftime(struct ast_channel *chan, char *cmd, char * char *iftrue; char *iffalse; - data = ast_strdupa(data); + if (!(data = ast_strdupa(data))) { + ast_log(LOG_WARNING, "Memory Error!\n"); + return NULL; + } data = ast_strip_quoted(data, "\"", "\""); expr = strsep(&data, "?"); @@ -92,7 +95,10 @@ static char *builtin_function_if(struct ast_channel *chan, char *cmd, char *data char *iftrue; char *iffalse; - data = ast_strdupa(data); + if (!(data = ast_strdupa(data))) { + ast_log(LOG_WARNING, "Memory Error!\n"); + return NULL; + } data = ast_strip_quoted(data, "\"", "\""); expr = strsep(&data, "?"); @@ -123,7 +129,10 @@ static char *builtin_function_set(struct ast_channel *chan, char *cmd, char *dat char *varname; char *val; - data = ast_strdupa(data); + if (!(data = ast_strdupa(data))) { + ast_log(LOG_WARNING, "Memory Error!\n"); + return NULL; + } varname = strsep(&data, "="); val = data; |