summaryrefslogtreecommitdiff
path: root/src/typval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-12-25 19:31:36 +0000
committerBram Moolenaar <Bram@vim.org>2022-12-25 19:31:36 +0000
commit6ef5471afa69a654888bc285a51a6035405d33a0 (patch)
tree129d598f76891f27518586ab04edbd0cbc3b1884 /src/typval.c
parent9b99411b93f017609399e04527fdd3b6e83b5a55 (diff)
downloadvim-git-6ef5471afa69a654888bc285a51a6035405d33a0.tar.gz
patch 9.0.1095: using freed memory when declaration failsv9.0.1095
Problem: Using freed memory when declaration fails. (Yegappan Lakshmanan) Solution: After unreferencing an object set the reference to NULL.
Diffstat (limited to 'src/typval.c')
-rw-r--r--src/typval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/typval.c b/src/typval.c
index 98915ccca..6eae02b78 100644
--- a/src/typval.c
+++ b/src/typval.c
@@ -162,9 +162,11 @@ clear_tv(typval_T *varp)
break;
case VAR_CLASS:
class_unref(varp->vval.v_class);
+ varp->vval.v_class = NULL;
break;
case VAR_OBJECT:
object_unref(varp->vval.v_object);
+ varp->vval.v_object = NULL;
break;
case VAR_UNKNOWN:
case VAR_ANY: