ID: 41516 Updated by: [EMAIL PROTECTED] Reported By: kraghuba at in dot ibm dot com -Status: Open +Status: Closed Bug Type: Filesystem function related Operating System: Windows XP, Linux PHP Version: 6CVS-2007-05-28 (CVS) New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2007-05-28 05:08:24] kraghuba at in dot ibm dot com Description: ------------ fgets() functions returns a line of text form file when length parameter is <= 0. fgets() should return a warning message indicating that "length parameter should be greater than 0" but returns a line of text when length parameter is <= 0 This failure is only applicable to PHP 6. Consider adding a check for length parameter in the code after paramerts are parsed. if (len <= 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Length parameter must be greater than 0"); RETURN_FALSE; } Reproduce code: --------------- <?php $fp = fopen(__FILE__, "r"); var_dump( fgets($fp, 0) ); var_dump( fgets($fp, -10) ); fclose($fp); ?> Expected result: ---------------- Warning: fgets(): Length parameter must be greater than 0 in %s on line %d bool(false) Warning: fgets(): Length parameter must be greater than 0 in %s on line %d bool(false) Actual result: -------------- string(7) "<?php " string(31) " $fp = fopen(__FILE__, "r"); " ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41516&edit=1