From b5e7599ac1a4e215a59a83f30f35b5f99991efb2 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Tue, 7 Jul 2015 11:50:07 -0400 Subject: [PATCH] FS-7762: [mod_av] handle buffer allocation failures of large buffers --- src/mod/applications/mod_av/avformat.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mod/applications/mod_av/avformat.c b/src/mod/applications/mod_av/avformat.c index eadf20ea14..0723ad9d5d 100644 --- a/src/mod/applications/mod_av/avformat.c +++ b/src/mod/applications/mod_av/avformat.c @@ -640,6 +640,11 @@ SWITCH_STANDARD_APP(record_av_function) switch_buffer_create_dynamic(&buffer, 8192, 65536, 0); + if (!buffer) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not allocate buffer for %s\n", data); + goto end; + } + av_register_all(); mod_avformat_alloc_output_context2(&fc, NULL, format, data); @@ -1365,6 +1370,11 @@ static switch_status_t av_file_open(switch_file_handle_t *handle, const char *pa switch_buffer_create_dynamic(&context->audio_buffer, 512, 512, 0); + if (!context->audio_buffer) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not allocate buffer for %s\n", path); + return SWITCH_STATUS_MEMERR; + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "sample rate: %d, channels: %d\n", handle->samplerate, handle->channels); av_register_all();