From 5298554fb69c5c7e428b3feb6cec164391b00eb7 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Sat, 30 Dec 2006 20:46:47 +0000 Subject: [PATCH] Added missing resource validation checks --- ext/sysvshm/sysvshm.c | 8 ++++---- 1 file 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; } -- 2.40.0