Android security tags, read closely by Lightrion

CVE-2026-49919 AI-generated analysis

platform/external/freetype, sfnt driver, COLR (color glyph layer) blending in src/sfnt/ttcolr.c

AI-generated: written from the bulletin and the fixing diffs by claude-fable-5-1, then checked against the code by claude-opus-5-5 (3 corrections). Verify against the commit before relying on it.

Replaces an unchecked `size = rows * pitch; FT_ALLOC(buf, size)` in tt_face_colr_blend_layer (src/sfnt/ttcolr.c) with FT_ALLOC_MULT(buf, rows, pitch), so the FreeType memory layer detects the multiplication overflow instead of the code allocating an undersized buffer.

Root cause

In src/sfnt/ttcolr.c tt_face_colr_blend_layer, the temporary buffer was allocated as FT_ALLOC(buf, size), where size was the plain product rows * pitch with no overflow check. If that product wraps, FT_ALLOC receives a small size and the allocation succeeds with an undersized buffer. Later code in the function works with buf and dstSlot->bitmap.buffer (only the start of that code is shown). The commit message says the overflow is now detected in ft_mem_qrealloc and references upstream issue #1389.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2026 · Findings