iliaa Sat Feb 24 15:44:43 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/sysvshm/tests 002.phpt /php-src/ext/sysvshm sysvshm.c Log: Unify validation of shm segment size inside shm_attach() http://cvs.php.net/viewvc.cgi/php-src/ext/sysvshm/tests/002.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/sysvshm/tests/002.phpt diff -u php-src/ext/sysvshm/tests/002.phpt:1.1.2.2 php-src/ext/sysvshm/tests/002.phpt:1.1.2.3 --- php-src/ext/sysvshm/tests/002.phpt:1.1.2.2 Thu Jun 29 09:00:33 2006 +++ php-src/ext/sysvshm/tests/002.phpt Sat Feb 24 15:44:43 2007 @@ -33,35 +33,35 @@ echo "Done\n"; ?> --EXPECTF-- -Warning: Wrong parameter count for shm_attach() in %s on line %d +Warning: Wrong parameter count for shm_attach() in %s/sysvshm/tests/002.php on line %d NULL -Warning: Wrong parameter count for shm_attach() in %s on line %d +Warning: Wrong parameter count for shm_attach() in %s/sysvshm/tests/002.php on line %d NULL -Warning: shm_attach(): failed for key 0xffffffff: memorysize too small in %s on line %d +Warning: shm_attach(): Segment size must be greater then zero. in %s/sysvshm/tests/002.php on line %d bool(false) -Warning: shm_attach(): failed for key 0x0: Invalid argument in %s on line %d +Warning: shm_attach(): Segment size must be greater then zero. in %s/sysvshm/tests/002.php on line %d bool(false) -Warning: shm_attach(): failed for key 0x7b: Invalid argument in %s on line %d +Warning: shm_attach(): Segment size must be greater then zero. in %s/sysvshm/tests/002.php on line %d bool(false) -Warning: shm_attach(): failed for key %s: Invalid argument in %s on line %d +Warning: shm_attach(): Segment size must be greater then zero. in %s/sysvshm/tests/002.php on line %d bool(false) -Warning: shm_remove(): The parameter is not a valid shm_identifier in %s on line %d +Warning: shm_remove(): The parameter is not a valid shm_identifier in %s/sysvshm/tests/002.php on line %d -Warning: shm_attach(): failed for key %s: memorysize too small in %s on line %d +Warning: shm_attach(): Segment size must be greater then zero. in %s/sysvshm/tests/002.php on line %d bool(false) -Warning: shm_remove(): The parameter is not a valid shm_identifier in %s on line %d +Warning: shm_remove(): The parameter is not a valid shm_identifier in %s/sysvshm/tests/002.php on line %d int(%d) -Warning: shm_remove(): The parameter is not a valid shm_identifier in %s on line %d +Warning: shm_remove(): The parameter is not a valid shm_identifier in %s/sysvshm/tests/002.php on line %d int(%d) int(%d) int(%d) int(%d) -Done +Done \ No newline at end of file http://cvs.php.net/viewvc.cgi/php-src/ext/sysvshm/sysvshm.c?r1=1.70.2.2.2.3&r2=1.70.2.2.2.4&diff_format=u Index: php-src/ext/sysvshm/sysvshm.c diff -u php-src/ext/sysvshm/sysvshm.c:1.70.2.2.2.3 php-src/ext/sysvshm/sysvshm.c:1.70.2.2.2.4 --- php-src/ext/sysvshm/sysvshm.c:1.70.2.2.2.3 Mon Jan 1 09:36:09 2007 +++ php-src/ext/sysvshm/sysvshm.c Sat Feb 24 15:44:43 2007 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sysvshm.c,v 1.70.2.2.2.3 2007/01/01 09:36:09 sebastian Exp $ */ +/* $Id: sysvshm.c,v 1.70.2.2.2.4 2007/02/24 15:44:43 iliaa Exp $ */ /* This has been built and tested on Linux 2.2.14 * @@ -134,6 +134,11 @@ shm_key = Z_LVAL_PP(arg_key); } + if (shm_size < 1) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Segment size must be greater then zero."); + RETURN_FALSE; + } + shm_list_ptr = (sysvshm_shm *) emalloc(sizeof(sysvshm_shm)); /* get the id from a specified key or create new shared memory */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php