res_pjsip/location: Fix ref leak in contact_apply_handler
authorGeorge Joseph <george.joseph@fairview5.com>
Wed, 3 Jun 2015 18:17:58 +0000 (12:17 -0600)
committerGeorge Joseph <george.joseph@fairview5.com>
Wed, 3 Jun 2015 18:25:29 +0000 (13:25 -0500)
contact_apply_handler calls ast_res_pjsip_find_or_create_contact_status
to force the creation of a contact_status object whenever a new
contact is added but it didn't unref the returned object.

Added an ao2_cleanup(status) to plug the leak.

ASTERISK-25141

Change-Id: Icc1401cae142855a1abc86ab5179dfb3ee861c40
Reported-by: Corey Farrell

res/res_pjsip/location.c

index 9e75929..37f39ba 100644 (file)
@@ -889,6 +889,7 @@ static int contact_apply_handler(const struct ast_sorcery *sorcery, void *object
        struct ast_sip_contact *contact = object;
 
        status = ast_res_pjsip_find_or_create_contact_status(contact);
+       ao2_cleanup(status);
 
        return status ? 0 : -1;
 }