comparison 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
comparison
equal deleted inserted replaced
31524:1996a311ac70 31525:f7c82a85e88a
160 case VAR_INSTR: 160 case VAR_INSTR:
161 VIM_CLEAR(varp->vval.v_instr); 161 VIM_CLEAR(varp->vval.v_instr);
162 break; 162 break;
163 case VAR_CLASS: 163 case VAR_CLASS:
164 class_unref(varp->vval.v_class); 164 class_unref(varp->vval.v_class);
165 varp->vval.v_class = NULL;
165 break; 166 break;
166 case VAR_OBJECT: 167 case VAR_OBJECT:
167 object_unref(varp->vval.v_object); 168 object_unref(varp->vval.v_object);
169 varp->vval.v_object = NULL;
168 break; 170 break;
169 case VAR_UNKNOWN: 171 case VAR_UNKNOWN:
170 case VAR_ANY: 172 case VAR_ANY:
171 case VAR_VOID: 173 case VAR_VOID:
172 break; 174 break;