Browse Source

Fixed bug #26752 (Silent unterminated loop when length parameter for

fgets(), fread() and fgetss() is 0).
PEAR_1_4DEV
Ilia Alshanetsky 23 years ago
parent
commit
6f7fe1dfa0
  1. 12
      ext/standard/file.c

12
ext/standard/file.c

@ -919,8 +919,8 @@ PHPAPI PHP_FUNCTION(fgets)
convert_to_long_ex(arg2);
len = Z_LVAL_PP(arg2);
if (len < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Length parameter may not be negative");
if (len <= 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Length parameter must be greater then 0.");
RETURN_FALSE;
}
@ -1026,8 +1026,8 @@ PHPAPI PHP_FUNCTION(fgetss)
if (bytes != NULL) {
convert_to_long_ex(bytes);
if (Z_LVAL_PP(bytes) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Length parameter may not be negative");
if (Z_LVAL_PP(bytes) <= 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Length parameter must be greater then 0.");
RETURN_FALSE;
}
@ -1640,8 +1640,8 @@ PHPAPI PHP_FUNCTION(fread)
convert_to_long_ex(arg2);
len = Z_LVAL_PP(arg2);
if (len < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Length parameter may not be negative");
if (len <= 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Length parameter must be greater then 0.");
RETURN_FALSE;
}

Loading…
Cancel
Save