comparison src/eval.c @ 10910:8bff367672a4 v8.0.0344

patch 8.0.0344: unlet command leaks memory commit https://github.com/vim/vim/commit/49439c4cdf7d2822255f292adda4226656fe144d Author: Bram Moolenaar <Bram@vim.org> Date: Mon Feb 20 23:07:05 2017 +0100 patch 8.0.0344: unlet command leaks memory Problem: Unlet command leaks memory. (Nikolai Pavlov) Solution: Free the memory on error. (closes https://github.com/vim/vim/issues/1497)
author Christian Brabandt <cb@256bit.org>
date Mon, 20 Feb 2017 23:15:04 +0100
parents 6b6abffbdf59
children fd1760f8c215
comparison
equal deleted inserted replaced
10909:e155b0b3d532 10910:8bff367672a4
2077 p = NULL; 2077 p = NULL;
2078 break; 2078 break;
2079 } 2079 }
2080 /* existing variable, need to check if it can be changed */ 2080 /* existing variable, need to check if it can be changed */
2081 else if (var_check_ro(lp->ll_di->di_flags, name, FALSE)) 2081 else if (var_check_ro(lp->ll_di->di_flags, name, FALSE))
2082 {
2083 clear_tv(&var1);
2082 return NULL; 2084 return NULL;
2085 }
2083 2086
2084 if (len == -1) 2087 if (len == -1)
2085 clear_tv(&var1); 2088 clear_tv(&var1);
2086 lp->ll_tv = &lp->ll_di->di_tv; 2089 lp->ll_tv = &lp->ll_di->di_tv;
2087 } 2090 }