Bug #46673 [Com]: stream_lock call with wrong paramater

From: Date: Sat, 16 Aug 2014 15:38:45 +0000
Subject: Bug #46673 [Com]: stream_lock call with wrong paramater
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-187148@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=46673&edit=1 ID: 46673 Comment by: shabazzk at gmail dot com Reported by: kaz at e-2 dot co dot jp Summary: stream_lock call with wrong paramater Status: Closed Type: Bug Package: Streams related Operating System: * PHP Version: 5.2.6 Block user comment: N Private report: N New Comment: This bug has resurfaced and I have found this bug in PHP versions 5.3.29, 5.5.15, and 5.6RC4. Previous Comments: ------------------------------------------------------------------------ [2008-11-26 04:20:50] lbarnaud@php.net 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. ------------------------------------------------------------------------ [2008-11-26 03:07:51] kaz at e-2 dot co dot jp Description: ------------ When i regist my own stream class, and use flock($h, LOCK_UN). then steam_lock caled with undefined mode(0x8). php-5.2.6/ext/standard/file.c ---- 321 static int flock_values[] = { LOCK_SH, LOCK_EX, LOCK_UN }; snip... 348 act = flock_values[act - 1] | (operation & 4 ? LOCK_NB : 0); 349 if (php_stream_lock(stream, act)) { Reproduce code: --------------- <?php class StreamTest { function stream_open($path, $mode, $options, &$opened_path) { return true; } function stream_close() { return ; } function stream_lock($mode) { printf( "0x%x\n", $mode ) ; return ; } } stream_register_wrapper("streamtest", "StreamTest"); $handle = fopen( 'streamtest://test', "r" ) ; flock( $handle, LOCK_EX ) ; flock( $handle, LOCK_UN ) ; fclose($handle) ; Expected result: ---------------- 0x2 0x3 Actual result: -------------- 0x2 0x8 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=46673&edit=1

« previous php.bugs (#187148) next »