Commit 192118f179 for ffmpeg
commit 192118f17978b8ca11eadef2f7715395a2b1d413
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Wed Sep 30 20:04:28 2026 +0000
avcodec/vp56: Roll back dimensions when resizing fails
The VP5/VP6 headers install new dimensions before vp56_size_changed() allocates the arrays for them. If resizing fails, leave the dimensions cleared so following frames cannot use the missing arrays, and preserve the allocation error for the caller.
Fixes: 24187
Assisted-by: Fairy
diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c
index 0d13d7a276..f740b53915 100644
--- a/libavcodec/vp56.c
+++ b/libavcodec/vp56.c
@@ -654,9 +654,11 @@ int ff_vp56_decode_frame(AVCodecContext *avctx, AVFrame *rframe,
}
if (res == VP56_SIZE_CHANGE) {
- if (vp56_size_changed(s)) {
+ ret = vp56_size_changed(s);
+ if (ret < 0) {
av_frame_unref(p);
- return AVERROR_INVALIDDATA;
+ ff_set_dimensions(avctx, 0, 0);
+ return ret;
}
}