]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
ivr_play: preanswer before getting variables to avoid crash
authorMathieu Parent <math.parent@gmail.com>
Thu, 22 Jul 2010 21:53:11 +0000 (23:53 +0200)
committerMathieu Parent <math.parent@gmail.com>
Thu, 22 Jul 2010 21:53:11 +0000 (23:53 +0200)
src/switch_ivr_play_say.c

index 0e0322452c8ace2c0b90afc2fd9d0b2320af05f3..bc1fbadd0007d34fcf00ec9ebe7e515fa351541e 100644 (file)
@@ -916,6 +916,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess
        int timeout_samples = 0;
        const char *var;
 
+       if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) {
+               return SWITCH_STATUS_FALSE;
+       }
+
        switch_core_session_get_read_impl(session, &read_impl);
 
        if ((var = switch_channel_get_variable(channel, "playback_timeout_sec"))) {
@@ -936,10 +940,6 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess
                }
        }
 
-       if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) {
-               return SWITCH_STATUS_FALSE;
-       }
-
        prefix = switch_channel_get_variable(channel, "sound_prefix");
        timer_name = switch_channel_get_variable(channel, "timer_name");