avfilter/vf_drawtext: Account for bbox text seperator
authorMichael Niedermayer <michael@niedermayer.cc>
Sat, 1 Nov 2025 00:29:32 +0000 (01:29 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 21 Nov 2025 19:57:02 +0000 (20:57 +0100)
Fixes: out of array access
no test case

Found-by: Joshua Rogers <joshua@joshua.hu> with ZeroPath
Reviewed-by: Joshua Rogers <joshua@joshua.hu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ad956ff076ea808e5d64c9ac17c1bfc1ba7d0cc0)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavfilter/vf_drawtext.c

index c5477cbff1ea5df9b46f31d3ec738b40571a7720..56dafc3168435185e3c916e799f5b8ce45fcfe60 100644 (file)
@@ -938,7 +938,7 @@ static av_cold int init(AVFilterContext *ctx)
             av_log(ctx, AV_LOG_WARNING, "Multiple texts provided, will use text_source only\n");
             av_free(s->text);
         }
-        s->text = av_mallocz(AV_DETECTION_BBOX_LABEL_NAME_MAX_SIZE *
+        s->text = av_mallocz((AV_DETECTION_BBOX_LABEL_NAME_MAX_SIZE + 1) *
                              (AV_NUM_DETECTION_BBOX_CLASSIFY + 1));
         if (!s->text)
             return AVERROR(ENOMEM);