diff --git a/src/xdisp.c b/src/xdisp.c index 0de5aee86dd..7a164ba2972 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -25067,7 +25067,8 @@ maybe_produce_line_number (struct it *it) eassert (it->lnum_width > 0); } /* Extra +2 for the two blanks we add before and after the number. */ - char *lnum_buf = alloca (it->lnum_width + 2 + 1); + char *lnum_buf = alloca (max (it->lnum_width, INT_STRLEN_BOUND (ptrdiff_t)) + + 2 + 1); if (EQ (Vdisplay_line_numbers, Qrelative)) lnum_offset = it->pt_lnum; else if (EQ (Vdisplay_line_numbers, Qvisual))