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

Reply via email to