aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/regexp_bt.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-02-01 18:07:09 +0800
committerGitHub <noreply@github.com>2023-02-01 18:07:09 +0800
commit01d3a64e284749ac1ae40b0caf7165155063fc4f (patch)
treeb8a0be55fe150d73a6a712d784c000ce19402396 /src/nvim/regexp_bt.c
parentd63ad600e0571ccf07eed1e841e8519da7d4af9f (diff)
downloadrneovim-01d3a64e284749ac1ae40b0caf7165155063fc4f.tar.gz
rneovim-01d3a64e284749ac1ae40b0caf7165155063fc4f.tar.bz2
rneovim-01d3a64e284749ac1ae40b0caf7165155063fc4f.zip
vim-patch:8.1.1827: allocating more memory than needed for extended structs (#22081)
Problem: Allocating more memory than needed for extended structs. Solution: Use offsetof() instead of sizeof(). (Dominique Pelle, closes vim/vim#4786) https://github.com/vim/vim/commit/47ed553fd5bebfc36eb8aa81686eeaa5a84eccac
Diffstat (limited to 'src/nvim/regexp_bt.c')
-rw-r--r--src/nvim/regexp_bt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/regexp_bt.c b/src/nvim/regexp_bt.c
index 1b32447d77..af3d93f7c4 100644
--- a/src/nvim/regexp_bt.c
+++ b/src/nvim/regexp_bt.c
@@ -2862,7 +2862,7 @@ static regprog_T *bt_regcomp(uint8_t *expr, int re_flags)
}
// Allocate space.
- bt_regprog_T *r = xmalloc(sizeof(bt_regprog_T) + (size_t)regsize);
+ bt_regprog_T *r = xmalloc(offsetof(bt_regprog_T, program) + (size_t)regsize);
r->re_in_use = false;
// Second pass: emit code.