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:19 +0000 (05:55 +0100)
commite163d884ef6ccc52f02a176105098d15c451d6af
treee90d9cd462dd6e1e0b5095b5a72a4fcd30ef985c
parent56cc629a645e479c233750a60a35264b4aa9a651
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