changeset 12399:de1ae9d8ef57 v8.0.1079

patch 8.0.1079: memory leak when remote_foreground() fails commit https://github.com/vim/vim/commit/09d6c3818d7451a659f4d12a4e974237fe823f7d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 9 16:25:54 2017 +0200 patch 8.0.1079: memory leak when remote_foreground() fails Problem: Memory leak when remote_foreground() fails. Solution: Free the error message.
author Christian Brabandt <cb@256bit.org>
date Sat, 09 Sep 2017 16:30:04 +0200
parents eac3e2671dc8
children 88b280ce8cfb
files src/evalfunc.c src/if_xcmdsrv.c src/version.c
diffstat 3 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -8638,7 +8638,10 @@ remote_common(typval_T *argvars, typval_
 # endif
     {
 	if (r != NULL)
+	{
 	    EMSG(r);		/* sending worked but evaluation failed */
+	    vim_free(r);
+	}
 	else
 	    EMSG2(_("E241: Unable to send to %s"), server_name);
 	return;
@@ -8698,6 +8701,8 @@ f_remote_foreground(typval_T *argvars UN
     argvars[1].v_type = VAR_STRING;
     argvars[1].vval.v_string = vim_strsave((char_u *)"foreground()");
     argvars[2].v_type = VAR_UNKNOWN;
+    rettv->v_type = VAR_STRING;
+    rettv->vval.v_string = NULL;
     remote_common(argvars, rettv, TRUE);
     vim_free(argvars[1].vval.v_string);
 # endif
--- a/src/if_xcmdsrv.c
+++ b/src/if_xcmdsrv.c
@@ -420,6 +420,7 @@ serverSendToVim(
 	    {
 		LookupName(dpy, loosename ? loosename : name,
 			   /*DELETE=*/TRUE, NULL);
+		vim_free(loosename);
 		continue;
 	    }
 	}
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1079,
+/**/
     1078,
 /**/
     1077,