posix_times returns false without error
| Bug #49132 | posix_times returns false without error | ||||
|---|---|---|---|---|---|
| Submitted: | 2009-08-01 17:42 UTC | Modified: | 2009-08-01 18:22 UTC | ||
| From: | phpbugs at gunnu dot us | Assigned: | |||
| Status: | Closed | Package: | POSIX related | ||
| PHP Version: | 6SVN-2009-08-01 (SVN) | OS: | Linux 2.6 | ||
| Private report: | No | CVE-ID: | None | ||
[2009-08-01 17:42 UTC] phpbugs at gunnu dot us
Description: ------------ /[cvs]/php-src/ext/posix/posix.c rev 1.110 line 687 detects error if 'ticks' is a negative value. POSIX.1 states -1 is an error condition, but other negative values are acceptable overflow, which can be caused by a long uptime. posix_times() returns false under these conditions when there is no error except a long uptime. Reproduce code: --------------- <?php var_dump( posix_times() ); //returns false if uptime is high enough without setting error ?> Expected result: ---------------- A populated array Actual result: -------------- bool(FALSE)
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2009-08-01 17:57 UTC] phpbugs at gunnu dot us
--- posix.c 2009-08-01 13:55:30.000000000 -0400 +++ posix.c.fix 2009-08-01 13:56:14.000000000 -0400 @@ -684,7 +684,7 @@ PHP_POSIX_NO_ARGS; - if((ticks = times(&t)) < 0) { + if((ticks = times(&t)) == -1) { POSIX_G(last_error) = errno; RETURN_FALSE; })[2009-08-01 18:22 UTC] felipe@php.net