diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-08-04 16:34:04 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-08-04 16:34:04 +0000 |
commit | d328d088cf7124e397c150aa56e08faac5d6802c (patch) | |
tree | ce28b1d11d703a473e36dcd37364126ff39daaed /res/res_http_post.c | |
parent | 354a5c2325aad130a3ad28e2168cf9ebc6bb31e1 (diff) |
HTTP module memory leaks
(closes issue #13230)
Reported by: eliel
Patches:
res_http_post_leak.patch uploaded by eliel (license 64)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135476 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_http_post.c')
-rw-r--r-- | res/res_http_post.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/res/res_http_post.c b/res/res_http_post.c index f1ae7a7da..2e4a20a1d 100644 --- a/res/res_http_post.c +++ b/res/res_http_post.c @@ -289,12 +289,15 @@ static int __ast_http_post_load(int reload) struct ast_str *ds; if (!(urih = ast_calloc(sizeof(*urih), 1))) { + ast_config_destroy(cfg); return -1; } - if (!(ds = ast_str_create(32))) + if (!(ds = ast_str_create(32))) { + ast_free(urih); + ast_config_destroy(cfg); return -1; - + } urih->description = ast_strdup("HTTP POST mapping"); urih->uri = ast_strdup(v->name); @@ -305,6 +308,7 @@ static int __ast_http_post_load(int reload) urih->supports_post = 1; urih->callback = http_post_callback; urih->key = __FILE__; + urih->mallocd = urih->dmallocd = 1; ast_http_uri_link(urih); } @@ -323,7 +327,6 @@ static int unload_module(void) static int reload(void) { - __ast_http_post_load(1); return AST_MODULE_LOAD_SUCCESS; |