Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002119 [Quercus] minor always 10-26-07 20:01 10-29-07 14:12
Reporter koreth View Status public  
Assigned To ferg
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 3.1.4 Product Version 3.1.3
  Product Build
Summary 0002119: Binary values get altered when concatenated to a string
Description test/TestBinary.java:

package test;
import com.caucho.quercus.env.*;
class TestBinary {
        public static BinaryValue doTest() {
                byte[] testArray = new byte[1];
                testArray[0] = (byte)0x9c;
                return new BinaryBuilderValue(testArray);
        }
}

test.php:
<?php
import test.TestBinary;

$var = TestBinary::doTest();
$fp = fopen("/tmp/x", "w");
fwrite($fp, $var);
fwrite($fp, "x" . $var);
fclose($fp);

If you examine /tmp/x, you will see that the first fwrite() wrote the binary value, 0x9c. Then there's an "x" (0x78). Then, instead of another 0x9c, you'll see 0xfa.

If you change the $var assignment to "$var = chr(156);" then you get the correct output; this only seems to manifest with binary values returned by Java code (it bit me in some custom serialization code.)

Now that I've identified the problem I can work around it but it certainly seems like a bug.
Steps To Reproduce
Additional Information
Attached Files

- Relationships

- Notes
(0002406)
ferg
10-29-07 14:12

php/0jdf
 

- Issue History
Date Modified Username Field Change
10-26-07 20:01 koreth New Issue
10-29-07 14:12 ferg Note Added: 0002406
10-29-07 14:12 ferg Assigned To  => ferg
10-29-07 14:12 ferg Status new => closed
10-29-07 14:12 ferg Resolution open => fixed
10-29-07 14:12 ferg Fixed in Version  => 3.1.4


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed.
26 unique queries executed.
Powered by Mantis Bugtracker