]> granicus.if.org Git - php/commitdiff
Avoid overflow
authorXinchen Hui <laruence@gmail.com>
Mon, 13 Nov 2017 03:18:56 +0000 (11:18 +0800)
committerXinchen Hui <laruence@gmail.com>
Mon, 13 Nov 2017 03:18:56 +0000 (11:18 +0800)
ext/standard/file.c

index da10f58b6578a151df87356c2c4dd58982ab29ea..104b16235ef2c30bb6353f8e5b46477261094edf 100644 (file)
@@ -1772,7 +1772,7 @@ PHPAPI PHP_FUNCTION(fread)
        /* needed because recv/read/gzread doesnt put a null at the end*/
        Z_STRVAL_P(return_value)[Z_STRLEN_P(return_value)] = 0;
 
-       if (len > Z_STRLEN_P(return_value) * 2) {
+       if (Z_STRLEN_P(return_value) < len / 2) {
                Z_STR_P(return_value) = zend_string_truncate(Z_STR_P(return_value), Z_STRLEN_P(return_value), 0);
        }
 }