summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJia-Ju Bai <baijiaju@buaa.edu.cn>2023-08-13 20:04:04 +0200
committerChristian Brabandt <cb@256bit.org>2023-08-13 20:05:18 +0200
commit5b0889b8bf25b0793b1949ec965c94b623900aba (patch)
tree7cfdf5306013c825c577516f13c28d18674ed071
parentd3515a1e88cf25c1d5eae8faa965b587a124e687 (diff)
patch 9.0.1712: missing null check in object_clear()v9.0.1712
Problem: missing null check in object_clear() Solution: Add null check of cl closes: #12627 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Jia-Ju Bai <baijiaju@buaa.edu.cn>
-rw-r--r--src/version.c2
-rw-r--r--src/vim9class.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/version.c b/src/version.c
index 3a7d4bb4db..45f5527d19 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 */
/**/
+ 1712,
+/**/
1711,
/**/
1710,
diff --git a/src/vim9class.c b/src/vim9class.c
index 2f2422871a..562db25b5d 100644
--- a/src/vim9class.c
+++ b/src/vim9class.c
@@ -1509,6 +1509,9 @@ object_clear(object_T *obj)
class_T *cl = obj->obj_class;
+ if (!cl)
+ return;
+
// the member values are just after the object structure
typval_T *tv = (typval_T *)(obj + 1);
for (int i = 0; i < cl->class_obj_member_count; ++i)