[FFmpeg-devel] [PATCH 4/4] avcodec/mobiclip: Rewrite code to make it more clearer
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Thu Nov 18 11:13:57 EET 2021
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.rheinhardt at 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
More information about the ffmpeg-devel
mailing list