patch 7.4.1500
Problem:    Should_free flag set to FALSE.
Solution:   Set it to TRUE. (Neovim 4415)
diff --git a/src/ex_eval.c b/src/ex_eval.c
index c68c6ad..3fd470c 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -432,7 +432,7 @@
 
     if (type == ET_ERROR)
     {
-	*should_free = FALSE;
+	*should_free = TRUE;
 	mesg = ((struct msglist *)value)->throw_msg;
 	if (cmdname != NULL && *cmdname != NUL)
 	{
@@ -489,7 +489,7 @@
     else
     {
 	*should_free = FALSE;
-	ret = (char_u *) value;
+	ret = (char_u *)value;
     }
 
     return ret;