To: vim_dev@googlegroups.com Subject: Patch 8.2.3673 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3673 Problem: Crash when allocating signal stack fails. Solution: Only using sourcing info when available. (closes #9215) Files: src/globals.h, src/message.c *** ../vim-8.2.3672/src/globals.h 2021-11-18 18:52:08.820648765 +0000 --- src/globals.h 2021-11-25 13:36:48.203403125 +0000 *************** *** 288,293 **** --- 288,294 ---- * Current context is at ga_len - 1. */ EXTERN garray_T exestack INIT5(0, 0, sizeof(estack_T), 50, NULL); + #define HAVE_SOURCING_INFO (exestack.ga_data != NULL && exestack.ga_len > 0) // name of error message source #define SOURCING_NAME (((estack_T *)exestack.ga_data)[exestack.ga_len - 1].es_name) // line number in the message source or zero *** ../vim-8.2.3672/src/message.c 2021-09-10 15:58:24.446743066 +0100 --- src/message.c 2021-11-25 13:37:11.351424648 +0000 *************** *** 446,452 **** static int other_sourcing_name(void) { ! if (SOURCING_NAME != NULL) { if (last_sourcing_name != NULL) return STRCMP(SOURCING_NAME, last_sourcing_name) != 0; --- 446,452 ---- static int other_sourcing_name(void) { ! if (HAVE_SOURCING_INFO && SOURCING_NAME != NULL) { if (last_sourcing_name != NULL) return STRCMP(SOURCING_NAME, last_sourcing_name) != 0; *************** *** 465,471 **** { char_u *Buf, *p; ! if (SOURCING_NAME != NULL && other_sourcing_name()) { char_u *sname = estack_sfile(ESTACK_NONE); char_u *tofree = sname; --- 465,471 ---- { char_u *Buf, *p; ! if (HAVE_SOURCING_INFO && SOURCING_NAME != NULL && other_sourcing_name()) { char_u *sname = estack_sfile(ESTACK_NONE); char_u *tofree = sname; *** ../vim-8.2.3672/src/version.c 2021-11-25 13:26:16.034041048 +0000 --- src/version.c 2021-11-25 13:38:45.511500090 +0000 *************** *** 759,760 **** --- 759,762 ---- { /* Add new patch number below this line */ + /**/ + 3673, /**/ -- "Software is like sex... it's better when it's free." -- Linus Torvalds, initiator of the free Linux OS Makes me wonder what FSF stands for...? /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///