com php-src: backport relevant part from bug #72858 patch in 7.0: TSRM/tsrm_win32.c

From: Date: Thu, 25 Aug 2016 10:46:28 +0000
Subject: com php-src: backport relevant part from bug #72858 patch in 7.0: TSRM/tsrm_win32.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-94060@lists.php.net to get a copy of this message
Commit: a1ff39ffe5cc3e83bd51b2511163e2e620e935d2 Author: Anatol Belski <ab@php.net> Thu, 25 Aug 2016 12:46:28 +0200 Parents: 6a232c3604f6c00f6c09cc3782dd1b36b30d23d4 Branches: PHP-5.6 PHP-7.0 PHP-7.1 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=a1ff39ffe5cc3e83bd51b2511163e2e620e935d2 Log: backport relevant part from bug #72858 patch in 7.0 Bugs: https://bugs.php.net/72858 Changed paths: M TSRM/tsrm_win32.c Diff: diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index 06e4561..f81f93c 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -654,17 +654,27 @@ 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; } + shm->addr = MapViewOfFileEx(shm->segment, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL); + + err = GetLastError(); + if (err) { + /* Catch more errors */ + if (ERROR_NOT_ENOUGH_MEMORY == err) { + _set_errno(ENOMEM); + } + return (void*)-1; + } + shm->descriptor->shm_atime = time(NULL); shm->descriptor->shm_lpid = getpid(); shm->descriptor->shm_nattch++; - shm->addr = MapViewOfFileEx(shm->segment, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL); - return shm->addr; }

« previous php.cvs (#94060) next »