rtmp: fix multiple broken overflow checks
authorXi Wang <xi.wang@gmail.com>
Tue, 22 Jan 2013 22:49:29 +0000 (17:49 -0500)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 23 Jan 2013 04:55:30 +0000 (05:55 +0100)
commit636c42de19f6a3399632a860dec1105cc0091765
tree2c82b96dc3ec2f4244567dc687b10cc2e3a9bcc0
parentf48d1fb167202cb1ccef29e067436024e7068792
rtmp: fix multiple broken overflow checks

Sanity checks like `data + size >= data_end || data + size < data' are
broken, because `data + size < data' assumes pointer overflow, which is
undefined behavior in C.  Many compilers such as gcc/clang optimize such
checks away.

Use `size < 0 || size >= data_end - data' instead.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 902cfe2f74d777a7dc20ac68f2393b9f84b790c1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/rtmppkt.c