A user points out that we should free the 'hProcess' and 'hThread'
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 10 Oct 2012 18:29:16 +0000 (18:29 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 10 Oct 2012 18:29:16 +0000 (18:29 +0000)
handles returned in the PROCESS_INFORMATION structure after we call
CreateProcess.

git-svn-id: svn://svn.tartarus.org/sgt/putty@9686 cda61777-01e9-0310-a592-d414129be87e

windows/window.c
windows/winproxy.c

index 85b4699..5eb1d04 100644 (file)
@@ -2156,6 +2156,8 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
                si.lpReserved2 = NULL;
                CreateProcess(b, cl, NULL, NULL, inherit_handles,
                              NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);
+                CloseHandle(pi.hProcess);
+                CloseHandle(pi.hThread);
 
                if (filemap)
                    CloseHandle(filemap);
index 8be22ea..75a7852 100644 (file)
@@ -206,6 +206,8 @@ Socket platform_new_connection(SockAddr addr, char *hostname,
     CreateProcess(NULL, cmd, NULL, NULL, TRUE,
                  CREATE_NO_WINDOW | NORMAL_PRIORITY_CLASS,
                  NULL, NULL, &si, &pi);
+    CloseHandle(pi.hProcess);
+    CloseHandle(pi.hThread);
 
     sfree(cmd);