com php-src: fixed possible null deref: TSRM/tsrm_win32 .c
| From: | Anatol Belski | Date: | Mon, 22 Jul 2013 12:50:18 +0000 |
| Subject: | com php-src: fixed possible null deref: TSRM/tsrm_win32 .c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-72740@lists.php.net to get a copy of this message | ||
Commit: 25f924abf62e70f3474b5885c12a521c68c2066d
Author: Anatol Belski <ab@php.net> Mon, 22 Jul 2013 14:50:18 +0200
Parents: 1b4103c09d552c48275564c459122b67d34a9d1a
Branches: PHP-5.4 PHP-5.5 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=25f924abf62e70f3474b5885c12a521c68c2066d
Log:
fixed possible null deref
Changed paths:
M TSRM/tsrm_win32.c
Diff:
diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c
index 0ced6db..2ec97be 100644
--- a/TSRM/tsrm_win32.c
+++ b/TSRM/tsrm_win32.c
@@ -625,7 +625,7 @@ TSRM_API int shmget(int key, int size, int flags)
shm->info = info_handle;
shm->descriptor = MapViewOfFileEx(shm->info, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL);
- if (created) {
+ if (NULL != shm->descriptor && created) {
shm->descriptor->shm_perm.key = key;
shm->descriptor->shm_segsz = size;
shm->descriptor->shm_ctime = time(NULL);
@@ -639,8 +639,10 @@ TSRM_API int shmget(int key, int size, int flags)
shm->descriptor->shm_perm.mode = shm->descriptor->shm_perm.seq = 0;
}
- if (shm->descriptor->shm_perm.key != key || size > shm->descriptor->shm_segsz ) {
- CloseHandle(shm->segment);
+ if (NULL != shm->descriptor && (shm->descriptor->shm_perm.key != key || size >
shm->descriptor->shm_segsz)) {
+ if (NULL != shm->segment) {
+ CloseHandle(shm->segment);
+ }
UnmapViewOfFile(shm->descriptor);
CloseHandle(shm->info);
return -1;