flock does not force wouldblock argument to be passed by reference
| Bug #26467 | flock does not force wouldblock argument to be passed by reference | ||||
|---|---|---|---|---|---|
| Submitted: | 2003-11-29 15:26 UTC | Modified: | 2003-11-29 15:52 UTC | ||
| From: | mlemos at acm dot org | Assigned: | |||
| Status: | Closed | Package: | Filesystem function related | ||
| PHP Version: | 4CVS-2003-11-29 (stable) | OS: | |||
| Private report: | No | CVE-ID: | None | ||
[2003-11-29 15:26 UTC] mlemos at acm dot org
Description:
------------
When present, the wouldblock argument should be a reference to a variable in which it will return whether it would block if attempted to lock the file in non-blocking mode.
However, since the argument is not forced to be a reference, it will only work if you pass an explicit reference to the argument, leading to the usual warnings.
Changing flock function entry in ext/standard/basic_functions.c like this fixes the problem:
PHP_FE(flock,third_arg_force_ref)
Reproduce code:
---------------
<?php
if(!($file=(fopen("testfile","w")))) die("could not open file");
if(flock($file,6,$wouldblock))
echo "could lock ",serialize($wouldblock),"\n";
else
echo "failed lock\n";
fclose($file);
?>
Expected result:
----------------
could lock i:0;
Actual result:
--------------
could lock N;
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2003-11-29 15:52 UTC] wez@php.net