diff src/evalfunc.c @ 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 d0cf7f71b95b
children fc3e2d5614dd
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