summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-12-09 22:49:23 +0000
committerBram Moolenaar <Bram@vim.org>2022-12-09 22:49:23 +0000
commit4ae0057308c59a0dee2b452736366e49a5a98b3a (patch)
tree0f238fee754ef47f83e318660fb94513d4f1c182
parentffdaca9e6f3d39af6857ac52ced9385df203a152 (diff)
patch 9.0.1042: ASAN gives false alarm about array access.v9.0.1042
Problem: ASAN gives false alarm about array access. Solution: Use an intermediate pointer.
-rw-r--r--src/version.c2
-rw-r--r--src/vim9class.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/version.c b/src/version.c
index 10d9313410..14b6d2868a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1042,
+/**/
1041,
/**/
1040,
diff --git a/src/vim9class.c b/src/vim9class.c
index 395d83a120..8f2f09f3b5 100644
--- a/src/vim9class.c
+++ b/src/vim9class.c
@@ -441,7 +441,10 @@ class_object_index(
for (int i = 0; i < cl->class_obj_method_count; ++i)
{
ufunc_T *fp = cl->class_obj_methods[i];
- if (STRNCMP(name, fp->uf_name, len) == 0 && fp->uf_name[len] == NUL)
+ // Use a separate pointer to avoid that ASAN complains about
+ // uf_name[] only being 4 characters.
+ char_u *ufname = (char_u *)fp->uf_name;
+ if (STRNCMP(name, ufname, len) == 0 && ufname[len] == NUL)
{
typval_T argvars[MAX_FUNC_ARGS + 1];
int argcount = 0;