funcs/func_curl: Fix memory leak when CURLOPT channel datastore is destroyed
authorMatthew Jordan <mjordan@digium.com>
Mon, 12 Jan 2015 15:18:24 +0000 (15:18 +0000)
committerMatthew Jordan <mjordan@digium.com>
Mon, 12 Jan 2015 15:18:24 +0000 (15:18 +0000)
When the channel datastore associated with the usage of CURLOPT on a specific
channel is freed, the underlying structure holding the list of options is not
disposed of. This patch properly frees the structure in the datastore .destroy
callback.

ASTERISK-24672 #close
Reported by: Kristian Hogh
patches:
  func_curl-memory-leak.diff uploaded by Kristian Hogh (License 6639)
........

Merged revisions 430487 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 430488 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430489 65c4cc65-6c06-0410-ace0-fbb531ad65f3

funcs/func_curl.c

index 6c96f8e..ad66112 100644 (file)
@@ -198,6 +198,7 @@ static void curlds_free(void *data)
                ast_free(setting);
        }
        AST_LIST_HEAD_DESTROY(list);
+       ast_free(list);
 }
 
 enum optiontype {