On 24-Aug-2010 Christian Brabandt <cbli...@256bit.org> wrote:
> Hi,
> I have been playing with the undotree() function lately. Unfortunately, 
> it didn't take long, until it crashed :(
> 
> Here is a way to reproduce it:
> 
> chrisbra t41:~/vim [1016]% vim -u NONE -N -c ':echo undotree().entries'
> Vim: Caught deadly signal ABRT
> 
> Vim: Finished.
> zsh: abort      vim -u NONE -N

This happens due to a double free(). The attached patch fixes the
problem. I'll prepare a test for this.

-- 
Cheers,
Lech

-- 
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
diff --git a/src/eval.c b/src/eval.c
index fc01006..3e874b0 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -7097,6 +7097,7 @@ dict_add_list(d, key, list)
 	dictitem_free(item);
 	return FAIL;
     }
+    ++list->lv_refcount;
     return OK;
 }
 

Reply via email to