mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-21 17:13:22 +00:00
[mod_av] dont leak avformat context in error cases
This commit is contained in:
parent
f6bc49263a
commit
1b98a3a02a
@ -1157,8 +1157,6 @@ static switch_status_t open_input_file(av_file_context_t *context, switch_file_h
|
||||
if ((error = avformat_open_input(&context->fc, filename, NULL, NULL)) < 0) {
|
||||
char ebuf[255] = "";
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Could not open input file '%s' (error '%s')\n", filename, get_error_text(error, ebuf, sizeof(ebuf)));
|
||||
avformat_free_context(context->fc);
|
||||
context->fc = NULL;
|
||||
switch_goto_status(SWITCH_STATUS_FALSE, err);
|
||||
}
|
||||
|
||||
@ -1334,6 +1332,11 @@ GCC_DIAG_ON(deprecated-declarations)
|
||||
return status;
|
||||
|
||||
err:
|
||||
if (context->fc) {
|
||||
avformat_free_context(context->fc);
|
||||
context->fc = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
if (context->has_video) close_stream(context->fc, &context->video_st);
|
||||
if (context->has_audio) close_stream(context->fc, &context->audio_st);
|
||||
|
Loading…
x
Reference in New Issue
Block a user