]> granicus.if.org Git - php/commitdiff
fix error handling
authorAnatol Belski <ab@php.net>
Sat, 15 Apr 2017 16:14:25 +0000 (18:14 +0200)
committerAnatol Belski <ab@php.net>
Sat, 15 Apr 2017 16:19:33 +0000 (18:19 +0200)
TSRM/tsrm_win32.c

index f19da4c6dcb20a55f4a51956e673457c227f9bd5..9c5fe5519033176268a905ab33a4fdb3ceedffa4 100644 (file)
@@ -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);