]> granicus.if.org Git - php/commitdiff
MFB: Fixed bug #43482 (array_pad() does not warn on very small pad
authorIlia Alshanetsky <iliaa@php.net>
Mon, 3 Dec 2007 14:13:27 +0000 (14:13 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Mon, 3 Dec 2007 14:13:27 +0000 (14:13 +0000)
numbers).

ext/standard/array.c

index 8c21e486c565c168d367679265380eee9abad194..3b19bcd7dd842f37da24ee48c7a5cb16acff7769 100644 (file)
@@ -2473,6 +2473,11 @@ PHP_FUNCTION(array_pad)
        /* Do some initial calculations */
        input_size = zend_hash_num_elements(Z_ARRVAL_P(input));
        pad_size_abs = abs(pad_size);
+       if (pad_size_abs < 0) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "You may only pad up to 1048576 elements at a time");
+               zval_dtor(return_value);
+               RETURN_FALSE;
+       }
        do_pad = (input_size >= pad_size_abs) ? 0 : 1;
 
        /* Copy the original array */