diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2020-08-25 12:40:50 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2020-09-04 23:29:51 +0200 |
commit | b33e375b2b4e6c9232cdbfd5d6b7cb1b15e0f525 (patch) | |
tree | ed2d0c84ed966a55bd0b1bfadfb0b8fedb434e14 /src/nvim/eval/decode.c | |
parent | 7593c8012b1d183ce4806daca3fb50795ab969bf (diff) | |
download | rneovim-b33e375b2b4e6c9232cdbfd5d6b7cb1b15e0f525.tar.gz rneovim-b33e375b2b4e6c9232cdbfd5d6b7cb1b15e0f525.tar.bz2 rneovim-b33e375b2b4e6c9232cdbfd5d6b7cb1b15e0f525.zip |
robustness: avoid adding offset to NULL pointer
UBSAN with clang 10.0 is checking for adding offsets to a `NULL` pointer
which is not allowed. This is not yet checked in the version of clang
used in CI (7.0.0). I will work on cases of this so that tests passes
locally for me.
This could be tested in CI by either upgrading the clang of the
ASAN/UBSAN to 10.0, or add yet another CI target which builds with
clang 10.0.
Diffstat (limited to 'src/nvim/eval/decode.c')
-rw-r--r-- | src/nvim/eval/decode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/eval/decode.c b/src/nvim/eval/decode.c index daba304f00..638fef331a 100644 --- a/src/nvim/eval/decode.c +++ b/src/nvim/eval/decode.c @@ -586,7 +586,7 @@ parse_json_number_check: if (p == ints) { emsgf(_("E474: Missing number after minus sign: %.*s"), LENP(s, e)); goto parse_json_number_fail; - } else if (p == fracs || exps_s == fracs + 1) { + } else if (p == fracs || (fracs != NULL && exps_s == fracs + 1)) { emsgf(_("E474: Missing number after decimal dot: %.*s"), LENP(s, e)); goto parse_json_number_fail; } else if (p == exps) { |