summaryrefslogtreecommitdiff
path: root/funcs/func_odbc.c
diff options
context:
space:
mode:
Diffstat (limited to 'funcs/func_odbc.c')
-rw-r--r--funcs/func_odbc.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/funcs/func_odbc.c b/funcs/func_odbc.c
index 7c34b5c0f..3e0f52fea 100644
--- a/funcs/func_odbc.c
+++ b/funcs/func_odbc.c
@@ -108,6 +108,12 @@ static void acf_odbc_write(struct ast_channel *chan, char *cmd, char *data, cons
t = "";
}
+ if (!s || !t) {
+ ast_log(LOG_ERROR, "Out of memory\n");
+ ast_mutex_unlock(&query_lock);
+ return;
+ }
+
/* XXX You might be tempted to change this section into using
* pbx_builtin_pushvar_helper(). However, note that if you try
* to set a NULL (like for VALUE), then nothing gets set, and the
@@ -260,6 +266,11 @@ static char *acf_odbc_read(struct ast_channel *chan, char *cmd, char *data, char
/* Parse our arguments */
s = ast_strdupa(data);
+ if (!s) {
+ ast_log(LOG_ERROR, "Out of memory\n");
+ ast_mutex_unlock(&query_lock);
+ return "";
+ }
while ((arg = strsep(&s, "|"))) {
count++;