Mercurial > vim
comparison src/syntax.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 | 5462bb963075 |
children | 04245f071792 |
comparison
equal
deleted
inserted
replaced
17658:0d763089ba7f | 17659:121bdff812b4 |
---|---|
4392 if (curwin->w_s->b_syn_ic) | 4392 if (curwin->w_s->b_syn_ic) |
4393 name_ic = str_foldcase(name, (int)STRLEN(name), | 4393 name_ic = str_foldcase(name, (int)STRLEN(name), |
4394 name_folded, MAXKEYWLEN + 1); | 4394 name_folded, MAXKEYWLEN + 1); |
4395 else | 4395 else |
4396 name_ic = name; | 4396 name_ic = name; |
4397 kp = alloc(sizeof(keyentry_T) + STRLEN(name_ic)); | 4397 kp = alloc(offsetof(keyentry_T, keyword) + STRLEN(name_ic) + 1); |
4398 if (kp == NULL) | 4398 if (kp == NULL) |
4399 return; | 4399 return; |
4400 STRCPY(kp->keyword, name_ic); | 4400 STRCPY(kp->keyword, name_ic); |
4401 kp->k_syn.id = id; | 4401 kp->k_syn.id = id; |
4402 kp->k_syn.inc_tag = current_syn_inc_tag; | 4402 kp->k_syn.inc_tag = current_syn_inc_tag; |