diff options
author | Eliseo Martínez <eliseomarmol@gmail.com> | 2014-11-17 10:41:05 +0100 |
---|---|---|
committer | Eliseo Martínez <eliseomarmol@gmail.com> | 2014-11-18 22:00:02 +0100 |
commit | 97be8d45f4e52aa33d37a831c26e24235ec55220 (patch) | |
tree | be107a84bcaf17c04435e4821cf8a9da9b264914 /src | |
parent | 3bf32fe43f86a2c966c77b130f7ea7c71b6ac099 (diff) | |
download | rneovim-97be8d45f4e52aa33d37a831c26e24235ec55220.tar.gz rneovim-97be8d45f4e52aa33d37a831c26e24235ec55220.tar.bz2 rneovim-97be8d45f4e52aa33d37a831c26e24235ec55220.zip |
Fix warnings: eval.c: add_nr_var(): Out of bounds: FP.
Problem : Out-of-bound array access @ 18737.
Diagnostic : False positive.
Rationale : Situation is intentional. `dictitem_T` is a prefix all dict
items whill share, but actual size of each item will be
different depending on its key length. `di_key` array field
is declared of size 1 just to have a field name, but real
size will vary for each item.
Resolution : Make analyzer ignore it.
This could be refactored to use C99-allowed variable length
arrays, but eval.c is bound to dissappear, so no effort is
done in that sense.
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/eval.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index d2ab8aa6ee..b4eb6053a7 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -18809,7 +18809,9 @@ free_funccal ( */ static void add_nr_var(dict_T *dp, dictitem_T *v, char *name, varnumber_T nr) { +#ifndef __clang_analyzer__ STRCPY(v->di_key, name); +#endif v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX; hash_add(&dp->dv_hashtab, DI2HIKEY(v)); v->di_tv.v_type = VAR_NUMBER; |