]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_outbound_registration.c: Use ast_sorcery_object_unregister() API 88/688/3
authorRichard Mudgett <rmudgett@digium.com>
Mon, 15 Jun 2015 20:28:41 +0000 (15:28 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 25 Jun 2015 19:36:12 +0000 (14:36 -0500)
The sorcery pjsip 'registration' config object needs to be destroyed on
module unload.  Otherwise, a reload of res_pjsip could try to use
callbacks for a previously unloaded instance of the module provided by
ast_sorcery_object_register() or one of the variants.  Also, if
res_pjsip_outbound_registration were subsequently reloaded, the sorcery
config field objects would be registered in sorcery twice.

ASTERISK-24907
Reported by: Kevin Harwell

Change-Id: I304fad13dece2604af48353f6c6d9d5c7b064697

res/res_pjsip_outbound_registration.c

index 78b863f499a20a4bb7f8b9e309db2cd3254bc102..27e79bd8930e559359818fe2a1bbbc2fe04c40ed 100644 (file)
@@ -1775,6 +1775,8 @@ static int unload_module(void)
        ast_sorcery_observer_remove(ast_sip_get_sorcery(), "auth", &observer_callbacks_auth);
        ast_sorcery_instance_observer_remove(ast_sip_get_sorcery(), &observer_callbacks_registrations);
 
+       ast_sorcery_object_unregister(ast_sip_get_sorcery(), "registration");
+
        ao2_global_obj_release(current_states);
 
        return 0;