In order to know that the earlier code did not use uninitialized values one needs to know that the lowest four bits of each used value of pframe_block4x4_coefficients_tab do not vanish identically. E.g. Coverity did not get this and warned about it in ticket #1466632. Fix this by slightly rewriting the code.
Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> --- libavcodec/mobiclip.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavcodec/mobiclip.c b/libavcodec/mobiclip.c index 6ea1c3eefa..23d64f76f6 100644 --- a/libavcodec/mobiclip.c +++ b/libavcodec/mobiclip.c @@ -491,7 +491,7 @@ static int add_pframe_coefficients(AVCodecContext *avctx, AVFrame *frame, int ret, idx = get_ue_golomb_31(gb); if (idx == 0) { - ret = add_coefficients(avctx, frame, bx, by, size, plane); + return add_coefficients(avctx, frame, bx, by, size, plane); } else if ((unsigned)idx < FF_ARRAY_ELEMS(pframe_block4x4_coefficients_tab)) { int flags = pframe_block4x4_coefficients_tab[idx]; @@ -505,11 +505,10 @@ static int add_pframe_coefficients(AVCodecContext *avctx, AVFrame *frame, flags >>= 1; } } + return 0; } else { - ret = AVERROR_INVALIDDATA; + return AVERROR_INVALIDDATA; } - - return ret; } static int adjust(int x, int size) -- 2.30.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".