#22904 [Opn]: fwrite is not binary safe for '\0' string

From: Date: Thu, 27 Mar 2003 09:06:29 +0000
Subject: #22904 [Opn]: fwrite is not binary safe for '\0' string
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-36541@lists.php.net to get a copy of this message
ID: 22904 Updated by: momo@php.net Reported By: momo@php.net Status: Open Bug Type: Filesystem function related Operating System: linux RH7.2 PHP Version: 4.3.2RC1 New Comment: ok, problem here is that php_stripslashes for sybase_magic_quetes replace '\0' with ascii(0) due reverse action on php_addslashes. IMHO in contrary to '\'' type replacements where we "maintains" the data "queues fixed" all over the script, on ascii(0) data, we have no problem do it onto the query level. there'll be minore bc problem but the current beavior is totally bogus! Previous Comments: ------------------------------------------------------------------------ [2003-03-26 10:31:27] momo@php.net well, using set_magic_quotes_runtime(0); fix the problem. due to my quick debug, the problem is somewhere into php_stripslashes called on file.c:1543 i'll try to look into it on friday if this bug still 'll be exists. ------------------------------------------------------------------------ [2003-03-26 10:18:30] momo@php.net problem still exists on last cvs. my editor show ascii(0) as ? but '\0' have to be showen as '\0' mean, if the orginal text (c code this case) file included the \0 *string* i does't want fwrite() replace it with ascii(0)! but to save it as the orginal string. ------------------------------------------------------------------------ [2003-03-26 09:33:33] iliaa@php.net Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Cannot verify this bug with latest CVS. I think your editor just shows \0 as ? ------------------------------------------------------------------------ [2003-03-26 09:25:48] momo@php.net here is simple code: ---------------- <? $f = fopen("test.txt","rb"); $buf= fread($f,4096); $f2 = fopen("test2","wb"); fwrite($f2,$buf); ?> --------------- where test.txt content is: --------------test \0 test -------------- the result test2 file is: --------------- test ? test --------------- ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22904&edit=1

« previous php.bugs (#36541) next »