summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_asf.c
diff options
context:
space:
mode:
authoriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-03-30 23:06:18 +0000
committeriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-03-30 23:06:18 +0000
commit9b4c7840b908da645e1856de29a006cc168b79a8 (patch)
tree7f546f560e649e0638147727fefa769eed0823e5 /libmpdemux/demux_asf.c
parenta703fdaa614d54076121fa176b54eeee3be7e433 (diff)
downloadmpv-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.c2
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;