@@ -130,10 +130,6 @@ static int vble_decode_frame(AVCodecContext *avctx, AVFrame *pic,
return AVERROR_INVALIDDATA;
}
- /* Allocate buffer */
- if ((ret = ff_thread_get_buffer(avctx, pic, 0)) < 0)
- return ret;
-
/* Version should always be 1 */
version = AV_RL32(src);
@@ -148,6 +144,10 @@ static int vble_decode_frame(AVCodecContext *avctx, AVFrame *pic,
return AVERROR_INVALIDDATA;
}
+ /* Allocate buffer */
+ if ((ret = ff_thread_get_buffer(avctx, pic, 0)) < 0)
+ return ret;
+
/* Restore planes. Should be almost identical to Huffyuv's. */
vble_restore_plane(ctx, pic, &gb, 0, offset, avctx->width, avctx->height);
Fixes: Timeout Fixes: 71727/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VBLE_fuzzer-6126342574243840 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavcodec/vble.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)