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

Bug Fixing proposal, standard diff.

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

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."

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.

I can confirm the bugfix provided by Juan.

Please add this fix asap as it's a major bug.