Author: gtjoseph Date: Wed Dec 17 18:11:24 2014 New Revision: 429720 URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=429720 Log: res_pjsip_config_wizard: fix unload SEGV
If certain pjsip modules aren't loaded, the wizard causes a SEGV when it unloads. Added a check for the presense of the object type wizard before trying to clean it up. Tested-by: George Joseph ........ Merged revisions 429719 from http://svn.asterisk.org/svn/asterisk/branches/13 Modified: trunk/ (props changed) trunk/res/res_pjsip_config_wizard.c Propchange: trunk/ ------------------------------------------------------------------------------ Binary property 'branch-13-merged' - no diff available. Modified: trunk/res/res_pjsip_config_wizard.c URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_pjsip_config_wizard.c?view=diff&rev=429720&r1=429719&r2=429720 ============================================================================== --- trunk/res/res_pjsip_config_wizard.c (original) +++ trunk/res/res_pjsip_config_wizard.c Wed Dec 17 18:11:24 2014 @@ -983,12 +983,13 @@ ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_NOLOCK, 0, NULL, NULL), ao2_cleanup); otw = find_wizard(object_types[i]); - if (otw->sorcery) { - ast_sorcery_instance_observer_remove(otw->sorcery, &observer); - } - - otw->wizard->retrieve_multiple(otw->sorcery, otw->wizard_data, object_types[i], existing, NULL); - ao2_callback(existing, OBJ_NODATA | OBJ_UNLINK | OBJ_MULTIPLE, delete_existing_cb, otw); + if (otw) { + if (otw->sorcery) { + ast_sorcery_instance_observer_remove(otw->sorcery, &observer); + } + otw->wizard->retrieve_multiple(otw->sorcery, otw->wizard_data, object_types[i], existing, NULL); + ao2_callback(existing, OBJ_NODATA | OBJ_UNLINK | OBJ_MULTIPLE, delete_existing_cb, otw); + } } AST_VECTOR_REMOVE_CMP_UNORDERED(&object_type_wizards, NULL, NOT_EQUALS, OTW_DELETE_CB); -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits
