From: Po Lu Date: Thu, 3 Feb 2022 10:34:50 +0000 (+0000) Subject: * src/haikufont.c (haikufont_draw): Allocate string buffer on stack. X-Git-Tag: emacs-29.0.90~2559 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9b0cdf461c24e36cedda27c700febebb00b40909;p=emacs.git * src/haikufont.c (haikufont_draw): Allocate string buffer on stack. --- 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 ();