]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-4582 --resolve
authorAnthony Minessale <anthm@freeswitch.org>
Sat, 1 Sep 2012 16:46:45 +0000 (11:46 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Sat, 1 Sep 2012 16:46:45 +0000 (11:46 -0500)
src/mod/endpoints/mod_sofia/mod_sofia.c

index 07c389f533ce275b08fecd760bc689229e8f81dd..f7bfc6cb59019f7890845650c4338271552e0e66 100644 (file)
@@ -381,14 +381,15 @@ switch_status_t sofia_on_destroy(switch_core_session_t *session)
                        switch_yield(100000);
                }
 
-               switch_mutex_lock(tech_pvt->profile->flag_mutex);
-               if ((uuid = switch_core_hash_find(tech_pvt->profile->chat_hash, tech_pvt->call_id))) {
-                       free(uuid);
-                       uuid = NULL;
-                       switch_core_hash_delete(tech_pvt->profile->chat_hash, tech_pvt->call_id);
+               if (!zstr(tech_pvt->call_id)) {
+                       switch_mutex_lock(tech_pvt->profile->flag_mutex);
+                       if ((uuid = switch_core_hash_find(tech_pvt->profile->chat_hash, tech_pvt->call_id))) {
+                               free(uuid);
+                               uuid = NULL;
+                               switch_core_hash_delete(tech_pvt->profile->chat_hash, tech_pvt->call_id);
+                       }
+                       switch_mutex_unlock(tech_pvt->profile->flag_mutex);
                }
-               switch_mutex_unlock(tech_pvt->profile->flag_mutex);
-
 
                if (switch_core_codec_ready(&tech_pvt->read_codec)) {
                        switch_core_codec_destroy(&tech_pvt->read_codec);