From c8c4e2d2a569f536db876c68246b701680f563ab Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 17 May 2026 22:37:51 +0200 Subject: [PATCH] avfilter/vf_drawtext: always check pixel_mode == FT_PIXEL_MODE_MONO The code as written can add such glyphs in the cache so we need to check glyphs from the cache too. This should be the most robust and simple solution Signed-off-by: Michael Niedermayer --- libavfilter/vf_drawtext.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c index 005e150de7..ea02733bc2 100644 --- a/libavfilter/vf_drawtext.c +++ b/libavfilter/vf_drawtext.c @@ -795,11 +795,11 @@ static int load_glyph(AVFilterContext *ctx, Glyph **glyph_ptr, uint32_t code, in goto error; } glyph->bglyph[idx] = (FT_BitmapGlyph)tmp_glyph; - if (glyph->bglyph[idx]->bitmap.pixel_mode == FT_PIXEL_MODE_MONO) { - av_log(ctx, AV_LOG_ERROR, "Monocromatic (1bpp) fonts are not supported.\n"); - ret = AVERROR(EINVAL); - goto error; - } + } + if (glyph->bglyph[idx]->bitmap.pixel_mode == FT_PIXEL_MODE_MONO) { + av_log(ctx, AV_LOG_ERROR, "Monocromatic (1bpp) fonts are not supported.\n"); + ret = AVERROR(EINVAL); + goto error; } if (s->borderw && !glyph->border_bglyph[idx]) { FT_Glyph tmp_glyph = glyph->border_glyph;