To: vim_dev@googlegroups.com Subject: Patch 8.2.3875 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3875 Problem: gcc complains about buffer overrun. Solution: Use mch_memmove() instead of STRCPY(). (John Marriott) Files: src/dict.c *** ../vim-8.2.3874/src/dict.c 2021-12-22 18:19:22.602372473 +0000 --- src/dict.c 2021-12-22 20:26:58.669032631 +0000 *************** *** 222,232 **** dictitem_alloc(char_u *key) { dictitem_T *di; ! di = alloc(offsetof(dictitem_T, di_key) + STRLEN(key) + 1); if (di != NULL) { ! STRCPY(di->di_key, key); di->di_flags = DI_FLAGS_ALLOC; di->di_tv.v_lock = 0; di->di_tv.v_type = VAR_UNKNOWN; --- 222,233 ---- dictitem_alloc(char_u *key) { dictitem_T *di; + size_t len = STRLEN(key); ! di = alloc(offsetof(dictitem_T, di_key) + len + 1); if (di != NULL) { ! mch_memmove(di->di_key, key, len + 1); di->di_flags = DI_FLAGS_ALLOC; di->di_tv.v_lock = 0; di->di_tv.v_type = VAR_UNKNOWN; *** ../vim-8.2.3874/src/version.c 2021-12-22 19:44:55.478555112 +0000 --- src/version.c 2021-12-22 20:28:08.496840021 +0000 *************** *** 751,752 **** --- 751,754 ---- { /* Add new patch number below this line */ + /**/ + 3875, /**/ -- % cat /usr/include/long_life.h long life(double fun); /// 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 ///