Bug #69020 [Fbk->Opn]: Possible memory corruption on file error messages

From: Date: Thu, 12 Feb 2015 21:25:13 +0000
Subject: Bug #69020 [Fbk->Opn]: Possible memory corruption on file error messages
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-190636@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=69020&edit=1 ID: 69020 User updated by: php at maisqi dot com Reported by: php at maisqi dot com Summary: Possible memory corruption on file error messages -Status: Feedback +Status: Open Type: Bug Package: Filesystem function related Operating System: Windows 8.1 PHP Version: 5.6.5 Block user comment: N Private report: N New Comment: Just tested with the latest snapshot and it seems fixed. Thanks for your help, ab@php.net. Previous Comments: ------------------------------------------------------------------------ [2015-02-11 17:37:45] ab@php.net No, you don't have to build yourself, just fetch some latest from here http://windows.php.net/downloads/snaps/php-5.6/ (also there's a snapshot page on windows.php.net). If you've found that's not fixed in the latest, please check this page for the backtrace howto https://bugs.php.net/bugs-generating-backtrace-win32.php . Thanks. ------------------------------------------------------------------------ [2015-02-11 16:19:47] php at maisqi dot com I'm sorry, but I'll need some help doing that. Any pointers will be greatly appreciated. Regarding the snapshots, I'll have to compile it myself, right? I'm using the Windows version... ------------------------------------------------------------------------ [2015-02-11 14:30:17] ab@php.net Please post a backtrace. Though, it sounds very similar to what was recently fixed in bug #68996. Maybe you also could check some latest snapshot. Thanks. ------------------------------------------------------------------------ [2015-02-09 22:26:15] php at maisqi dot com Description: ------------ If I try to handle a file whose name is ISO-8859-1 (on a NTFS file system), and force some error, the error message is printed with some unexpected chars, besides those that are to be expected when we cross different character encodings. I tested this on PHP5.5 and it worked ok. PHP 5.6, 32 bits or 64 bits, print the strange chars and crashed a few times. I can't test this on Linux for now. Test script: --------------- file_get_contents (utf8_decode ('Z:/Voláção')); echo '<br />'; trigger_error(utf8_decode ('Z:/Voláção'), E_USER_WARNING); trigger_error(utf8_decode ('Z:/Voláção'), E_USER_WARNING); /** * Note: I repeated the trigger_error() solely to prove that the output * is not random. */ Expected result: ---------------- The script should emit three very similar error messages. Actual result: -------------- This is what I get on my system: Warning: <`d��� : failed to open stream: No such file or directory [...] Warning: Z:/Vol���o in D:\Apache\exp\web\exp.php on line 22 Warning: Z:/Vol���o in D:\Apache\exp\web\exp.php on line 23 The «garbage» chars are quite different in the first message. I suspect this is due to some memory corruption bug. In fact, this simple script crashes once in a while (at least on my system). ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=69020&edit=1

« previous php.bugs (#190636) next »