From 47ed553fd5bebfc36eb8aa81686eeaa5a84eccac Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 8 Aug 2019 20:49:14 +0200 Subject: 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) --- src/getchar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/getchar.c') diff --git a/src/getchar.c b/src/getchar.c index 4a3587c3f2..b0e72f58f2 100644 --- 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); -- cgit v1.2.3