aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2020-09-19 20:48:38 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2021-10-09 22:02:19 +0200
commitd23e7ce02a0474ac6025e2b30e9a898f8a66eaec (patch)
tree28b18150c91836a041eb6c1d3ab3302d73e7bed9
parent9b01de9145694f8a8f906bfb16da3567c1be8174 (diff)
downloadffmpeg-d23e7ce02a0474ac6025e2b30e9a898f8a66eaec.tar.gz
avcodec/ansi: Check nb_args for overflow
Fixes: Integer overflow (no testcase) Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit bc0e776c9aaf06f437bf21e05a713fd54dc85400) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/ansi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c
index 8032aebe5e..cc4c7d2d1e 100644
--- a/libavcodec/ansi.c
+++ b/libavcodec/ansi.c
@@ -430,7 +430,8 @@ static int decode_frame(AVCodecContext *avctx,
s->args[s->nb_args] = FFMAX(s->args[s->nb_args], 0) * 10 + buf[0] - '0';
break;
case ';':
- s->nb_args++;
+ if (s->nb_args < MAX_NB_ARGS)
+ s->nb_args++;
if (s->nb_args < MAX_NB_ARGS)
s->args[s->nb_args] = 0;
break;