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/viml/parser/expressions.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/viml/parser/expressions.c')
-rw-r--r-- | src/nvim/viml/parser/expressions.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/viml/parser/expressions.c b/src/nvim/viml/parser/expressions.c index b77b80a5f3..44b6ab5f5a 100644 --- a/src/nvim/viml/parser/expressions.c +++ b/src/nvim/viml/parser/expressions.c @@ -1431,7 +1431,7 @@ static inline void east_set_error(const ParserState *const pstate, const ParserLine pline = pstate->reader.lines.items[start.line]; ret_ast_err->msg = msg; ret_ast_err->arg_len = (int)(pline.size - start.col); - ret_ast_err->arg = pline.data + start.col; + ret_ast_err->arg = pline.data ? pline.data + start.col : NULL; } /// Set error from the given token and given message |