From a5fd80bbc3e6a65ce0e3bce4cf820db3ae0f3165 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 7 Aug 2023 10:04:29 +0000 Subject: Trim can generate strings longer than the original if there are many #s, so create a bigger buffer. Reported by Robert Morris. --- format-draw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/format-draw.c b/format-draw.c index 1a7e60b3..3ea1f52f 100644 --- a/format-draw.c +++ b/format-draw.c @@ -1083,7 +1083,7 @@ format_trim_left(const char *expanded, u_int limit) struct utf8_data ud; enum utf8_state more; - out = copy = xcalloc(1, strlen(expanded) + 1); + out = copy = xcalloc(2, strlen(expanded) + 1); while (*cp != '\0') { if (width >= limit) break; @@ -1150,7 +1150,7 @@ format_trim_right(const char *expanded, u_int limit) return (xstrdup(expanded)); skip = total_width - limit; - out = copy = xcalloc(1, strlen(expanded) + 1); + out = copy = xcalloc(2, strlen(expanded) + 1); while (*cp != '\0') { if (*cp == '#') { end = format_leading_hashes(cp, &n, &leading_width); -- cgit v1.2.3