From 95e40115a2cedbd1a0bd29fb58e4a66e5ab01ea1 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sat, 4 Apr 2026 12:11:25 +0100 Subject: [PATCH] Don't just resize buffer once, repeat until it is big enough. Also use reallocarray. Reported by tuannguyenduc228 at gmail dot com. --- image-sixel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/image-sixel.c b/image-sixel.c index f6eaade3..c37e2cce 100644 --- a/image-sixel.c +++ b/image-sixel.c @@ -487,9 +487,9 @@ static void sixel_print_add(char **buf, size_t *len, size_t *used, const char *s, size_t slen) { - if (*used + slen >= *len + 1) { + while (*used + slen >= *len + 1) { + *buf = xreallocarray(*buf, 2, *len); (*len) *= 2; - *buf = xrealloc(*buf, *len); } memcpy(*buf + *used, s, slen); (*used) += slen;