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>
Thu, 7 Feb 2013 00:00:01 +0000 (01:00 +0100)
commit7df878ac15077ccb1a4763fc285bd7e02b7b6a1f
tree5296943ceb7e79898662c37a846ac24d51b7a418
parentbc58fe0309a075b6f75aeef948a55eede927591c
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