diff --git a/funcs/func_odbc.c b/funcs/func_odbc.c index ed8987ea48..0f6b65e7d3 100644 --- a/funcs/func_odbc.c +++ b/funcs/func_odbc.c @@ -791,6 +791,7 @@ static int acf_odbc_read(struct ast_channel *chan, const char *cmd, char *s, cha if (!(resultset = ast_calloc(1, sizeof(*resultset)))) { pbx_builtin_setvar_helper(chan, "ODBCROWS", rowcount); pbx_builtin_setvar_helper(chan, "ODBCSTATUS", status); + AST_RWLIST_UNLOCK(&queries); ast_autoservice_stop(chan); return -1; } @@ -807,6 +808,7 @@ static int acf_odbc_read(struct ast_channel *chan, const char *cmd, char *s, cha if (!(resultset = ast_calloc(1, sizeof(*resultset)))) { pbx_builtin_setvar_helper(chan, "ODBCROWS", rowcount); pbx_builtin_setvar_helper(chan, "ODBCSTATUS", status); + AST_RWLIST_UNLOCK(&queries); ast_autoservice_stop(chan); return -1; }