summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-08-02 21:55:17 +0200
committerBram Moolenaar <Bram@vim.org>2016-08-02 21:55:17 +0200
commit86f2cd5bc574c23fa276d7f57cd1300e24222913 (patch)
tree995f73d4f28406b0f4b29c2b535ecaece13bc4ee
parent796aa9c804f09276bd3cc45123f4a191a001dec2 (diff)
downloadvim-git-86f2cd5bc574c23fa276d7f57cd1300e24222913.tar.gz
patch 7.4.2145v7.4.2145
Problem: Win32: Using CreateThread/ExitThread is not safe. Solution: Use _beginthreadex and return from the thread. (Ken Takata)
-rw-r--r--src/os_win32.c6
-rw-r--r--src/version.c2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/os_win32.c b/src/os_win32.c
index 2cbea0bdc..71221776d 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -4267,7 +4267,7 @@ sub_process_writer(LPVOID param)
/* finished all the lines, close pipe */
CloseHandle(g_hChildStd_IN_Wr);
- ExitThread(0);
+ return 0;
}
@@ -4491,8 +4491,8 @@ mch_system_piped(char *cmd, int options)
if (options & SHELL_WRITE)
{
- HANDLE thread =
- CreateThread(NULL, /* security attributes */
+ HANDLE thread = (HANDLE)
+ _beginthreadex(NULL, /* security attributes */
0, /* default stack size */
sub_process_writer, /* function to be executed */
g_hChildStd_IN_Wr, /* parameter */
diff --git a/src/version.c b/src/version.c
index a6f179439..b355f080a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2145,
+/**/
2144,
/**/
2143,