diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index 0a299786287..84d153956e4 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -725,7 +725,6 @@ TSRM_API int shmget(key_t key, size_t 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; @@ -733,8 +732,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(); SET_ERRNO_FROM_WIN32_CODE(err); return (void*)-1; }