Thread (14 messages) 14 messages, 3 authors, 2019-12-03
STALE2416d
Revisions (2)
  1. v2 current
  2. v3 [diff vs current]

[PATCH v2 2/2] mingw: translate ERROR_SUCCESS to errno = 0

From: Johannes Schindelin via GitGitGadget <hidden>
Date: 2019-11-30 10:36:48
Subsystem: the rest · Maintainer: Linus Torvalds

From: Johannes Schindelin <redacted>

Johannes Sixt pointed out that the `err_win_to_posix()` function
mishandles `ERROR_SUCCESS`. This commit fixes that.

Technically, we try to only assign `errno` to the corresponding value of
`GetLastError()` (which translation is performed by that function) when
a Win32 API call failed, so this change is purely defensive and is not
expected to fix an existing bug in our code base.

Signed-off-by: Johannes Schindelin <redacted>
---
 compat/mingw.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/compat/mingw.c b/compat/mingw.c
index 432adc1aed..8dc45808a3 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -114,6 +114,7 @@ int err_win_to_posix(DWORD winerr)
 	case ERROR_SHARING_BUFFER_EXCEEDED: error = ENFILE; break;
 	case ERROR_SHARING_VIOLATION: error = EACCES; break;
 	case ERROR_STACK_OVERFLOW: error = ENOMEM; break;
+	case ERROR_SUCCESS: error = 0; break;
 	case ERROR_SWAPERROR: error = ENOENT; break;
 	case ERROR_TOO_MANY_MODULES: error = EMFILE; break;
 	case ERROR_TOO_MANY_OPEN_FILES: error = EMFILE; break;
-- 
gitgitgadget
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help