biddyweb / rtmplite

Automatically exported from code.google.com/p/rtmplite
0 stars 0 forks source link

Bug in AMF3 of rtmplite #82

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
First reported by Pachoo pachoo@gmail.com on May 23, 2012

---
It looks like there is a bug in the AMF3 classes writeList() and
writeDict() functions when calculating the U29A-value value.

From the AMF3 specs section 3.11:

U29A-value
=
U29
; The first (low) bit is a flag with
; value 1. The remaining 1 to 28
; significant bits are used to encode the
; count of the dense portion of the
; Array.
assoc-value
=
UTF-8-vr value-type
array-type
=
array-marker (U29O-ref | (U29A-value (UTF-8-empty | *(assoc-value)
UTF-8-empty) *(value-type)))

The way this value is written in the code is:
self.data.write_u29((len(data) << 1) & 0x01)

According to the specs it seems like that '&' should be an '|'

Original issue reported on code.google.com by theinten...@gmail.com on 29 Jun 2012 at 9:40