patch 9.1.0209: leaking memory in exe_newdict() on error

Commit: 
https://github.com/vim/vim/commit/86eddced7e2e15e4a51af2009ffaeca8028291be
Author: Christian Brabandt <c...@256bit.org>
Date:   Tue Mar 26 18:42:52 2024 +0100

    patch 9.1.0209: leaking memory in exe_newdict() on error
    
    Problem:  leaking memory in exe_newdict() on error
              (LuMingYinDetect)
    Solution: free allocated dict if GA_GROW_FALIS()
    
    fixes: #14255
    closes: #14281
    
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/version.c b/src/version.c
index a9515d689..2061fec42 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    209,
 /**/
     208,
 /**/
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 1efed3528..3e6aed081 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -260,7 +260,10 @@ exe_newdict(int count, ectx_T *ectx)
     if (count > 0)
        ectx->ec_stack.ga_len -= 2 * count - 1;
     else if (GA_GROW_FAILS(&ectx->ec_stack, 1))
+    {
+       dict_unref(dict);
        return FAIL;
+    }
     else
        ++ectx->ec_stack.ga_len;
     tv = STACK_TV_BOT(-1);

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1rpArA-007aCu-LU%40256bit.org.

Raspunde prin e-mail lui