From d8f65927bb369b890e052be8c91f63c862becd3a Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Mon, 9 Apr 2012 21:44:30 +0000 Subject: [PATCH] Allow func_curl to exit gracefully if list allocation fails during write If the global_curl_info data structure could not be allocated, the datastore associated with the operation would be free'd, but the function would not return. This would later dereference the datastore, almost certainly causing Asterisk to crash. With this patch, if the data structure is not allocated the method will return an error code, and not attempt any further operation. ........ Merged revisions 361753 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@361754 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- funcs/func_curl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/funcs/func_curl.c b/funcs/func_curl.c index e011461fe0..a4328b9239 100644 --- a/funcs/func_curl.c +++ b/funcs/func_curl.c @@ -302,6 +302,7 @@ static int acf_curlopt_write(struct ast_channel *chan, const char *cmd, char *na if (!(list = ast_calloc(1, sizeof(*list)))) { ast_log(LOG_ERROR, "Unable to allocate list head. Cannot set any CURL options\n"); ast_datastore_free(store); + return -1; } store->data = list; -- 2.47.2