diff src/getchar.c @ 17659:121bdff812b4 v8.1.1827

patch 8.1.1827: allocating more memory than needed for extended structs commit https://github.com/vim/vim/commit/47ed553fd5bebfc36eb8aa81686eeaa5a84eccac Author: Bram Moolenaar <Bram@vim.org> Date: Thu Aug 8 20:49:14 2019 +0200 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)
author Bram Moolenaar <Bram@vim.org>
date Thu, 08 Aug 2019 21:00:07 +0200
parents 506dd2efcbb2
children 0f7ae8010787
line wrap: on
line diff
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -232,7 +232,7 @@ add_buff(
 	    len = MINIMAL_SIZE;
 	else
 	    len = slen;
-	p = alloc(sizeof(buffblock_T) + len);
+	p = alloc(offsetof(buffblock_T, b_str) + len + 1);
 	if (p == NULL)
 	    return; /* no space, just forget it */
 	buf->bh_space = (int)(len - slen);