patch 7.4.939
Problem: Memory leak when encountering a syntax error.
Solution: Free the memory. (Dominique Pelle)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 23514fb..31b51e9 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -12117,6 +12117,7 @@
if (*p == NUL)
{
/* There must be two arguments. */
+ vim_free(g);
EMSG2(_(e_invarg2), eap->arg);
return;
}
@@ -12125,11 +12126,13 @@
{
if (*end != NUL && !ends_excmd(*skipwhite(end + 1)))
{
+ vim_free(g);
eap->errmsg = e_trailing;
return;
}
if (*end != *p)
{
+ vim_free(g);
EMSG2(_(e_invarg2), p);
return;
}