diff src/typval.c @ 31525:f7c82a85e88a v9.0.1095

patch 9.0.1095: using freed memory when declaration fails Commit: https://github.com/vim/vim/commit/6ef5471afa69a654888bc285a51a6035405d33a0 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Dec 25 19:31:36 2022 +0000 patch 9.0.1095: using freed memory when declaration fails Problem: Using freed memory when declaration fails. (Yegappan Lakshmanan) Solution: After unreferencing an object set the reference to NULL.
author Bram Moolenaar <Bram@vim.org>
date Sun, 25 Dec 2022 20:45:04 +0100
parents 60b1d266548d
children 9b13b3a63bc0
line wrap: on
line diff
--- 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: