patch 9.0.0556: leaking memory with nested functions

Problem:    Leaking memory with nested functions.
Solution:   Free saved pointer.
diff --git a/src/eval.c b/src/eval.c
index bdf0389..d369df5 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -400,6 +400,7 @@
 		    // need to keep it around.
 		    --etga->ga_len;
 		    *eap->cmdlinep = ((char_u **)etga->ga_data)[etga->ga_len];
+		    vim_free(evalarg->eval_tofree);
 		}
 		else
 		    *eap->cmdlinep = evalarg->eval_tofree;