Mercurial > vim
diff src/regexp_nfa.c @ 31877:9f28cca2410a v9.0.1271
patch 9.0.1271: using sizeof() and subtract array size is tricky
Commit: https://github.com/vim/vim/commit/1b438a8228a415720efb5ca1c0503f5467292e8e
Author: zeertzjq <zeertzjq@outlook.com>
Date: Wed Feb 1 13:11:15 2023 +0000
patch 9.0.1271: using sizeof() and subtract array size is tricky
Problem: Using sizeof() and subtract array size is tricky.
Solution: Use offsetof() instead. (closes https://github.com/vim/vim/issues/11926)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 01 Feb 2023 14:15:04 +0100 |
parents | 50555279168b |
children | e70c4cdad31d |
line wrap: on
line diff
--- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -7505,7 +7505,7 @@ nfa_regcomp(char_u *expr, int re_flags) post2nfa(postfix, post_ptr, TRUE); // allocate the regprog with space for the compiled regexp - prog_size = sizeof(nfa_regprog_T) + sizeof(nfa_state_T) * (nstate - 1); + prog_size = offsetof(nfa_regprog_T, state) + sizeof(nfa_state_T) * nstate; prog = alloc(prog_size); if (prog == NULL) goto fail;