From 9719621e078e41aa2d387cea4d4b1dd956c9e1e2 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sat, 15 Apr 2017 18:14:25 +0200 Subject: fix error handling --- TSRM/tsrm_win32.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index f19da4c6dc..9c5fe55190 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -671,7 +671,6 @@ TSRM_API int shmget(int key, int size, int flags) TSRM_API void *shmat(int key, const void *shmaddr, int flags) { shm_pair *shm = shm_get(key, NULL); - int err; if (!shm->segment) { return (void*)-1; @@ -679,8 +678,8 @@ TSRM_API void *shmat(int key, const void *shmaddr, int flags) shm->addr = MapViewOfFileEx(shm->segment, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL); - err = GetLastError(); - if (err) { + if (NULL == shm->addr) { + int err = GetLastError(); /* Catch more errors */ if (ERROR_NOT_ENOUGH_MEMORY == err) { _set_errno(ENOMEM); -- cgit v1.2.1