ZF-9282: Wrong ByteArray deserialization in Zend_Amf_Parse_Amf3_Deserializer
Description
Current implementation ob ByteArray deserialization stores reference in Strings table, but it should be stored in Objects table. Also, deserializing a type 0x0C should not look for stored references, as flag bit is always 1 (as specified in http://opensource.adobe.com/wiki/download/…, item 3.14).
Comments
Posted by Juan M. Tula (juan_tula) on 2010-02-27T07:08:44.000+0000
Bug Fixing proposal, standard diff.
Posted by Otto (wedge) on 2010-06-11T06:16:10.000+0000
This fixed an issue for me sending a bytearray to the server. Thank you very much for the patch Juan!
Zend, please include this in a future release of the framework.
ps. I'm running 1.10.5
Posted by Otto (wedge) on 2010-06-11T06:29:24.000+0000
But are you sure there will not be any references? This is also from the spec you quoted: "ByteArray instances can be sent as a reference to a previously occurring ByteArray instance by using an index to the implicit object reference table."
Posted by Juan M. Tula (juan_tula) on 2010-06-14T16:28:44.000+0000
Yes, there are references, but they where stored in the strings references array, instead of beign stored in object references array. References are preserved correctly, where they shoud be, in my patch.
Posted by Niek Botman (xeress) on 2011-01-24T05:26:38.000+0000
I can confirm the bugfix provided by Juan.
Please add this fix asap as it's a major bug.