diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/sysvshm/sysvshm.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/sysvshm/sysvshm.c b/ext/sysvshm/sysvshm.c index a445bf27bf..90730fb31f 100644 --- a/ext/sysvshm/sysvshm.c +++ b/ext/sysvshm/sysvshm.c @@ -216,7 +216,7 @@ PHP_FUNCTION(shm_remove) id = Z_LVAL_PP(arg_id); shm_list_ptr = (sysvshm_shm *) zend_list_find(id, &type); - if (!shm_list_ptr) { + if (!shm_list_ptr || type != php_sysvshm.le_shm) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "The parameter is not a valid shm_identifier"); RETURN_FALSE; } @@ -252,7 +252,7 @@ PHP_FUNCTION(shm_put_var) key = Z_LVAL_PP(arg_key); shm_list_ptr = (sysvshm_shm *) zend_list_find(id, &type); - if (type != php_sysvshm.le_shm) { + if (!shm_list_ptr || type != php_sysvshm.le_shm) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a SysV shared memory index", id); RETURN_FALSE; } @@ -299,7 +299,7 @@ PHP_FUNCTION(shm_get_var) key = Z_LVAL_PP(arg_key); shm_list_ptr = (sysvshm_shm *) zend_list_find(id, &type); - if (type != php_sysvshm.le_shm) { + if (!shm_list_ptr || type != php_sysvshm.le_shm) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a SysV shared memory index", id); RETURN_FALSE; } @@ -345,7 +345,7 @@ PHP_FUNCTION(shm_remove_var) key = Z_LVAL_PP(arg_key); shm_list_ptr = (sysvshm_shm *) zend_list_find(id, &type); - if (type != php_sysvshm.le_shm) { + if (!shm_list_ptr || type != php_sysvshm.le_shm) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a SysV shared memory index", id); RETURN_FALSE; } |