avcodec/extract_extradata: return an error when buffer allocation fails

ret is 0 by default.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2017-09-13 17:03:56 -03:00
parent 4d390344ec
commit 7bae17e37a

View File

@ -101,14 +101,17 @@ static int extract_extradata_h2645(AVBSFContext *ctx, AVPacket *pkt,
if (s->remove) { if (s->remove) {
filtered_buf = av_buffer_alloc(pkt->size + AV_INPUT_BUFFER_PADDING_SIZE); filtered_buf = av_buffer_alloc(pkt->size + AV_INPUT_BUFFER_PADDING_SIZE);
if (!filtered_buf) if (!filtered_buf) {
ret = AVERROR(ENOMEM);
goto fail; goto fail;
}
filtered_data = filtered_buf->data; filtered_data = filtered_buf->data;
} }
extradata = av_malloc(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE); extradata = av_malloc(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
if (!extradata) { if (!extradata) {
av_buffer_unref(&filtered_buf); av_buffer_unref(&filtered_buf);
ret = AVERROR(ENOMEM);
goto fail; goto fail;
} }