mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
lavc/vaapi_{decode, av1}: Fix memory leak in fail codepath
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
This commit is contained in:
parent
9c8881cb35
commit
246600974f
@ -404,14 +404,15 @@ static int vaapi_av1_decode_slice(AVCodecContext *avctx,
|
||||
|
||||
nb_params = s->tg_end - s->tg_start + 1;
|
||||
if (ctx->nb_slice_params < nb_params) {
|
||||
ctx->slice_params = av_realloc_array(ctx->slice_params,
|
||||
nb_params,
|
||||
sizeof(*ctx->slice_params));
|
||||
if (!ctx->slice_params) {
|
||||
VASliceParameterBufferAV1 *tmp = av_realloc_array(ctx->slice_params,
|
||||
nb_params,
|
||||
sizeof(*ctx->slice_params));
|
||||
if (!tmp) {
|
||||
ctx->nb_slice_params = 0;
|
||||
err = AVERROR(ENOMEM);
|
||||
goto fail;
|
||||
}
|
||||
ctx->slice_params = tmp;
|
||||
ctx->nb_slice_params = nb_params;
|
||||
}
|
||||
|
||||
|
@ -74,13 +74,14 @@ int ff_vaapi_decode_make_slice_buffer(AVCodecContext *avctx,
|
||||
|
||||
av_assert0(pic->nb_slices <= pic->slices_allocated);
|
||||
if (pic->nb_slices == pic->slices_allocated) {
|
||||
pic->slice_buffers =
|
||||
VABufferID *tmp =
|
||||
av_realloc_array(pic->slice_buffers,
|
||||
pic->slices_allocated ? pic->slices_allocated * 2 : 64,
|
||||
2 * sizeof(*pic->slice_buffers));
|
||||
if (!pic->slice_buffers)
|
||||
if (!tmp)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
pic->slice_buffers = tmp;
|
||||
pic->slices_allocated = pic->slices_allocated ? pic->slices_allocated * 2 : 64;
|
||||
}
|
||||
av_assert0(pic->nb_slices + 1 <= pic->slices_allocated);
|
||||
|
Loading…
Reference in New Issue
Block a user