php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #42412 addslashes() doesnot behave with NULL as documented
Submitted: 2007-08-24 12:05 UTC Modified: 2007-08-24 13:05 UTC
From: nikhil dot gupta at in dot ibm dot com Assigned:
Status: Not a bug Package: Strings related
PHP Version: 5CVS-2007-08-24 (snap) OS: Linux
Private report: No CVE-ID: None
 [2007-08-24 12:05 UTC] nikhil dot gupta at in dot ibm dot com
Description:
------------
As per the documentation, it should insert a backslash in the return string. But it returns an empty string without any backslash.

Reproduce code:
---------------
<?php
  var_dump( NULL);
  var_dump( addslashes(NULL) );
?>


Expected result:
----------------
NULL
string(1) "\"


Actual result:
--------------
NULL
string(0) ""

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-08-24 12:20 UTC] jani@php.net
You misunderstood the documentation, it's about the NUL character, not about NULL in PHP land.
 [2007-08-24 12:34 UTC] nikhil dot gupta at in dot ibm dot com
Thankyou for correcting me.

I tried with NUL character (\0) also. Is following the expected output?

var_dump( addslashes("abc\0abc") );

The output I get is:
string(8) "abc\0abc"

OR should it be:
string(8) "abc\abc"       (here a backslash is added before NUL)

OR should it be:
string(8) "abc\\0abc"

I think here the output should be:
string(8) "abc\\0abc"
because here the NUL is preceded with backslash character and also the length of string is 8.
 [2007-08-24 13:05 UTC] jani@php.net
Try this instead:

<?php
$txt = '-'.chr(0).'-';
var_dump($txt, addslashes($txt));
?>

Output is:
string(3) "--"
string(4) "-\0-"

NUL is something you don't see. :)

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 18 01:01:28 2024 UTC