about summary refs log tree commit diff
path: root/third_party/git/compat/winansi.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/compat/winansi.c')
-rw-r--r--third_party/git/compat/winansi.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/third_party/git/compat/winansi.c b/third_party/git/compat/winansi.c
index c27b20a79d..cacd82c833 100644
--- a/third_party/git/compat/winansi.c
+++ b/third_party/git/compat/winansi.c
@@ -546,7 +546,7 @@ static HANDLE swap_osfhnd(int fd, HANDLE new_handle)
 typedef struct _OBJECT_NAME_INFORMATION
 {
 	UNICODE_STRING Name;
-	WCHAR NameBuffer[FLEX_ARRAY];
+	WCHAR NameBuffer[0];
 } OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
 
 #define ObjectNameInformation 1
@@ -662,20 +662,10 @@ void winansi_init(void)
  */
 HANDLE winansi_get_osfhandle(int fd)
 {
-	HANDLE ret;
-
 	if (fd == 1 && (fd_is_interactive[1] & FD_SWAPPED))
 		return hconsole1;
 	if (fd == 2 && (fd_is_interactive[2] & FD_SWAPPED))
 		return hconsole2;
 
-	ret = (HANDLE)_get_osfhandle(fd);
-
-	/*
-	 * There are obviously circumstances under which _get_osfhandle()
-	 * returns (HANDLE)-2. This is not documented anywhere, but that is so
-	 * clearly an invalid handle value that we can just work around this
-	 * and return the correct value for invalid handles.
-	 */
-	return ret == (HANDLE)-2 ? INVALID_HANDLE_VALUE : ret;
+	return (HANDLE)_get_osfhandle(fd);
 }