From 840749d6c971f93aa9744bd6f76b383f11043463 Mon Sep 17 00:00:00 2001 From: bfredl Date: Sun, 27 Aug 2023 11:26:54 +0200 Subject: fix(undo): fix crash caused by checking undolevels in wrong buffer fixes #24894 --- src/nvim/undo.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/nvim/undo.c b/src/nvim/undo.c index 552120d4ae..1194eeca35 100644 --- a/src/nvim/undo.c +++ b/src/nvim/undo.c @@ -3208,15 +3208,13 @@ u_header_T *u_force_get_undo_header(buf_T *buf) } // Create the first undo header for the buffer if (!uhp) { - // Undo is normally invoked in change code, which already has swapped - // curbuf. // Args are tricky: this means replace empty range by empty range.. - u_savecommon(curbuf, 0, 1, 1, true); + u_savecommon(buf, 0, 1, 1, true); uhp = buf->b_u_curhead; if (!uhp) { uhp = buf->b_u_newhead; - if (get_undolevel(curbuf) > 0 && !uhp) { + if (get_undolevel(buf) > 0 && !uhp) { abort(); } } -- cgit