diff options
author | Joshua Colp <jcolp@digium.com> | 2017-01-26 13:57:59 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2017-01-26 16:58:20 +0000 |
commit | aae9df06433512f58701daf66ae99c292d6c9908 (patch) | |
tree | e63a8df4f65a9065e8aedbfa49e7bf0d14aa0455 /res | |
parent | da098e2227453600a8c62e1e86934ea6fc460e29 (diff) |
res_pjsip_endpoint_identifier_ip: Fix memory leak of hosts when resolving.
This change adds a missing unreference of the hostname when resolving and
also cleans up the iterator.
ASTERISK-26735
Change-Id: Ic012ebaf3d89e714eec340b7b0c5e63c66af857a
Diffstat (limited to 'res')
-rw-r--r-- | res/res_pjsip_endpoint_identifier_ip.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/res/res_pjsip_endpoint_identifier_ip.c b/res/res_pjsip_endpoint_identifier_ip.c index c16e84a67..6fc724a1e 100644 --- a/res/res_pjsip_endpoint_identifier_ip.c +++ b/res/res_pjsip_endpoint_identifier_ip.c @@ -323,9 +323,14 @@ static int ip_identify_apply(const struct ast_sorcery *sorcery, void *obj) } else if (results == -1) { ast_log(LOG_ERROR, "An error occurred when adding resolution results of '%s' on '%s'\n", current_string, ast_sorcery_object_get_id(obj)); + ao2_ref(current_string, -1); + ao2_iterator_destroy(&i); return -1; } + + ao2_ref(current_string, -1); } + ao2_iterator_destroy(&i); ao2_ref(identify->hosts, -1); identify->hosts = NULL; |