]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7911 #resolve
authorAnthony Minessale <anthm@freeswitch.org>
Wed, 23 Sep 2015 16:58:57 +0000 (11:58 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 24 Sep 2015 21:00:39 +0000 (16:00 -0500)
src/mod/endpoints/mod_sofia/mod_sofia.c
src/mod/endpoints/mod_sofia/sofia_glue.c

index 5cb2ff744b9619903d75c8c61e7e5079d9a8ac4a..d74688c70cb8605a0bbc5cee3a3d02e386f37c6c 100644 (file)
@@ -1549,11 +1549,6 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
                                break;
                        }
 
-                       if (!zstr(msg->string_array_arg[0]) && !zstr(msg->string_array_arg[1])) {
-                               switch_snprintf(ct, sizeof(ct), "%s/%s", msg->string_array_arg[0], msg->string_array_arg[1]);
-                               ok = 1;
-                       }
-
                        if (switch_stristr("send_message", tech_pvt->x_freeswitch_support_remote)) {
                                ok = 1;
                        }
@@ -1565,6 +1560,10 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
                        if (ok) {
                                const char *pl = NULL;
 
+                               if (!zstr(msg->string_array_arg[0]) && !zstr(msg->string_array_arg[1])) {
+                                       switch_snprintf(ct, sizeof(ct), "%s/%s", msg->string_array_arg[0], msg->string_array_arg[1]);
+                               }
+
                                if (!zstr(msg->string_array_arg[2])) {
                                        pl = msg->string_array_arg[2];
                                }
index eff9ae748593605329eb43386928f1ac2521994f..7dcdfcda7986a9410120a12c795f06f0bf107dbb 100644 (file)
@@ -636,7 +636,7 @@ void sofia_glue_set_extra_headers(switch_core_session_t *session, sip_t const *s
        sip_unknown_t *un;
        char name[512] = "";
        switch_channel_t *channel = switch_core_session_get_channel(session);
-       char *pstr;
+       char pstr[32];
 
        
        if (!sip || !channel) {
@@ -652,7 +652,7 @@ void sofia_glue_set_extra_headers(switch_core_session_t *session, sip_t const *s
                }
        }
 
-       pstr = switch_core_session_sprintf(session, "execute_on_%sprefix", prefix);
+       switch_snprintf(pstr, sizeof(pstr), "execute_on_%sprefix", prefix);
        switch_channel_execute_on(channel, pstr);
        switch_channel_api_on(channel, pstr);