diff options
author | iive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-03-30 23:06:18 +0000 |
---|---|---|
committer | iive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-03-30 23:06:18 +0000 |
commit | 9b4c7840b908da645e1856de29a006cc168b79a8 (patch) | |
tree | 7f546f560e649e0638147727fefa769eed0823e5 /libmpdemux/demux_asf.c | |
parent | a703fdaa614d54076121fa176b54eeee3be7e433 (diff) | |
download | mpv-9b4c7840b908da645e1856de29a006cc168b79a8.tar.bz2 mpv-9b4c7840b908da645e1856de29a006cc168b79a8.tar.xz |
fix descrambling of asf file,
where signed buffer could cause erroneous values to be filled in descrable variables,
add misssing check for one of these variables
and restore sign of these variables as insurance that these checks will work even in such case.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18002 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_asf.c')
-rw-r--r-- | libmpdemux/demux_asf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libmpdemux/demux_asf.c b/libmpdemux/demux_asf.c index e75de3cd23..c473caae3a 100644 --- a/libmpdemux/demux_asf.c +++ b/libmpdemux/demux_asf.c @@ -100,7 +100,7 @@ static int demux_asf_read_packet(demuxer_t *demux,unsigned char *data,int len,in if(ds->asf_seq!=seq){ // closed segment, finalize packet: if(ds==demux->audio) - if(asf->scrambling_h>1 && asf->scrambling_w>1) + if(asf->scrambling_h>1 && asf->scrambling_w>1 && asf->scrambling_b>0) asf_descrambling(&ds->asf_packet->buffer,ds->asf_packet->len,asf); ds_add_packet(ds,ds->asf_packet); ds->asf_packet=NULL; |