summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-11-18 08:22:38 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-11-28 06:59:56 +0100
commitd6c16c5217a8d2cbb754d44bf1206479fe5f906d (patch)
tree946f55d18b071811eecdfa7e9eafba5d241fb411
parentf5e74e8d484af23e760e1d4ce292b3a983e0b181 (diff)
avcodec/mobiclip: Rewrite code to make it clearer
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@outlook.com>
-rw-r--r--libavcodec/mobiclip.c7
1 files 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)