aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2020-09-19 20:48:38 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2020-10-20 10:33:45 +0200
commit653bd4f135b8daf52af578bacf79d937eb8c8cc5 (patch)
treed5d000e0919818cb8bda2388ff551a798f6e73c2
parenta4945989fe9a5fcad7695f59bcead6afc4eb6cf0 (diff)
downloadffmpeg-653bd4f135b8daf52af578bacf79d937eb8c8cc5.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 f1fafab771..c42d6d3dba 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;