0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

patch 8.1.1827: allocating more memory than needed for extended structs

Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4786)
This commit is contained in:
Bram Moolenaar
2019-08-08 20:49:14 +02:00
parent 8c5a278fc5
commit 47ed553fd5
8 changed files with 11 additions and 9 deletions

View File

@@ -288,7 +288,7 @@ get_lambda_tv(char_u **arg, typval_T *rettv, int evaluate)
sprintf((char*)name, "<lambda>%d", ++lambda_no);
fp = alloc_clear(sizeof(ufunc_T) + STRLEN(name));
fp = alloc_clear(offsetof(ufunc_T, uf_name) + STRLEN(name) + 1);
if (fp == NULL)
goto errret;
pt = ALLOC_CLEAR_ONE(partial_T);
@@ -2631,7 +2631,7 @@ ex_function(exarg_T *eap)
}
}
fp = alloc_clear(sizeof(ufunc_T) + STRLEN(name));
fp = alloc_clear(offsetof(ufunc_T, uf_name) + STRLEN(name) + 1);
if (fp == NULL)
goto erret;