mirror of
https://github.com/mpv-player/mpv
synced 2025-01-18 13:14:36 +00:00
100l, buffer bound checks work better when done _before_ access.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25481 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
f00272efea
commit
5947ca8334
@ -310,21 +310,20 @@ static int asf_streaming_parse_header(int fd, streaming_ctrl_t* streaming_ctrl)
|
|||||||
char *end = &buffer[size];
|
char *end = &buffer[size];
|
||||||
|
|
||||||
mp_msg(MSGT_NETWORK, MSGL_V, "Stream bitrate properties object\n");
|
mp_msg(MSGT_NETWORK, MSGL_V, "Stream bitrate properties object\n");
|
||||||
|
if (ptr + 2 > end) goto len_err_out;
|
||||||
stream_count = AV_RL16(ptr);
|
stream_count = AV_RL16(ptr);
|
||||||
ptr += 2;
|
ptr += 2;
|
||||||
if (ptr > end) goto len_err_out;
|
|
||||||
mp_msg(MSGT_NETWORK, MSGL_V, " stream count=[0x%x][%u]\n",
|
mp_msg(MSGT_NETWORK, MSGL_V, " stream count=[0x%x][%u]\n",
|
||||||
stream_count, stream_count );
|
stream_count, stream_count );
|
||||||
for( i=0 ; i<stream_count ; i++ ) {
|
for( i=0 ; i<stream_count ; i++ ) {
|
||||||
uint32_t rate;
|
uint32_t rate;
|
||||||
int id;
|
int id;
|
||||||
int j;
|
int j;
|
||||||
|
if (ptr + 6 > end) goto len_err_out;
|
||||||
id = AV_RL16(ptr);
|
id = AV_RL16(ptr);
|
||||||
ptr += 2;
|
ptr += 2;
|
||||||
if (ptr > end) goto len_err_out;
|
|
||||||
rate = AV_RL32(ptr);
|
rate = AV_RL32(ptr);
|
||||||
ptr += 4;
|
ptr += 4;
|
||||||
if (ptr > end) goto len_err_out;
|
|
||||||
mp_msg(MSGT_NETWORK, MSGL_V,
|
mp_msg(MSGT_NETWORK, MSGL_V,
|
||||||
" stream id=[0x%x][%u]\n", id, id);
|
" stream id=[0x%x][%u]\n", id, id);
|
||||||
mp_msg(MSGT_NETWORK, MSGL_V,
|
mp_msg(MSGT_NETWORK, MSGL_V,
|
||||||
|
Loading…
Reference in New Issue
Block a user