From 9b0cdf461c24e36cedda27c700febebb00b40909 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Thu, 3 Feb 2022 10:34:50 +0000 Subject: [PATCH] * src/haikufont.c (haikufont_draw): Allocate string buffer on stack. --- src/haikufont.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/haikufont.c b/src/haikufont.c index 67b1113e44c..1ef5f54c9aa 100644 --- a/src/haikufont.c +++ b/src/haikufont.c @@ -1000,12 +1000,13 @@ haikufont_draw (struct glyph_string *s, int from, int to, else { ptrdiff_t b_len = 0; - char *b = xmalloc (b_len); + char *b = alloca ((to - from + 1) * MAX_MULTIBYTE_LENGTH); for (int idx = from; idx < to; ++idx) { int len = CHAR_STRING (s->char2b[idx], mb); - b = xrealloc (b, b_len = (b_len + len)); + b_len += len; + if (len == 1) b[b_len - len] = mb[0]; else @@ -1013,7 +1014,6 @@ haikufont_draw (struct glyph_string *s, int from, int to, } BView_DrawString (view, b, b_len); - xfree (b); } unblock_input (); -- 2.39.5