diff options
Diffstat (limited to 'funcs/func_strings.c')
-rw-r--r-- | funcs/func_strings.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/funcs/func_strings.c b/funcs/func_strings.c index 3dd0168f1..ac889ec04 100644 --- a/funcs/func_strings.c +++ b/funcs/func_strings.c @@ -1097,6 +1097,11 @@ static int hashkeys_read(struct ast_channel *chan, const char *cmd, char *data, struct ast_var_t *newvar; struct ast_str *prefix = ast_str_alloca(80); + if (!chan) { + ast_log(LOG_WARNING, "No channel was provided to %s function.\n", cmd); + return -1; + } + ast_str_set(&prefix, -1, HASH_PREFIX, data); memset(buf, 0, len); @@ -1119,6 +1124,11 @@ static int hashkeys_read2(struct ast_channel *chan, const char *cmd, char *data, struct ast_str *prefix = ast_str_alloca(80); char *tmp; + if (!chan) { + ast_log(LOG_WARNING, "No channel was provided to %s function.\n", cmd); + return -1; + } + ast_str_set(&prefix, -1, HASH_PREFIX, data); AST_LIST_TRAVERSE(ast_channel_varshead(chan), newvar, entries) { @@ -1188,6 +1198,11 @@ static int hash_read(struct ast_channel *chan, const char *cmd, char *data, char AST_APP_ARG(col)[100]; ); + if (!chan) { + ast_log(LOG_WARNING, "No channel and only 1 parameter was provided to %s function.\n", cmd); + return -1; + } + /* Get column names, in no particular order */ hashkeys_read(chan, "HASHKEYS", arg.hashname, colnames, sizeof(colnames)); pbx_builtin_setvar_helper(chan, "~ODBCFIELDS~", colnames); |