aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-05-28 14:52:39 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-05-28 14:52:39 +0000
commitb80f5969368fbc9b205fc5e205a4e65c9b3cffb6 (patch)
treebe2876ba0f3e0c048ac6de1ddefcbed2f30e46a2 /main
parentc47881af4ba190c2e8788765b1bea5bdd0289db8 (diff)
Merged revisions 197538 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r197538 | file | 2009-05-28 11:51:43 -0300 (Thu, 28 May 2009) | 5 lines Fix a bug in stringfields where it did not actually free the pools of memory. (closes issue #15074) Reported by: pj ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@197539 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/utils.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/main/utils.c b/main/utils.c
index 554da57d8..21b4ea9aa 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -1423,7 +1423,11 @@ int __ast_string_field_init(struct ast_string_field_mgr *mgr, struct ast_string_
return add_string_pool(mgr, pool_head, needed, file, lineno, func);
}
if (needed < 0) { /* reset all pools */
- /* nothing to do */
+ if (*pool_head == NULL) {
+ ast_log(LOG_WARNING, "trying to reset empty pool\n");
+ return -1;
+ }
+ cur = *pool_head;
} else { /* preserve the last pool */
if (*pool_head == NULL) {
ast_log(LOG_WARNING, "trying to reset empty pool\n");