# HG changeset patch # User reimar # Date 1216226620 0 # Node ID 44ebd7860248cd44a7dcf7e8d25403fd2346d226 # Parent 21e634c01f9fa5f6f8c677e811af4a3c104a17ea Make sure demuxed ASF packet is properly padded after descrambling diff -r 21e634c01f9f -r 44ebd7860248 libmpdemux/demux_asf.c --- a/libmpdemux/demux_asf.c Wed Jul 16 16:18:25 2008 +0000 +++ b/libmpdemux/demux_asf.c Wed Jul 16 16:43:40 2008 +0000 @@ -50,9 +50,12 @@ } static void asf_descrambling(unsigned char **src,unsigned len, struct asf_priv* asf){ - unsigned char *dst=malloc(len); + unsigned char *dst; unsigned char *s2=*src; unsigned i=0,x,y; + if (len > UINT_MAX - FF_INPUT_BUFFER_PADDING_SIZE) + return; + dst = malloc(len + FF_INPUT_BUFFER_PADDING_SIZE); while(len>=asf->scrambling_h*asf->scrambling_w*asf->scrambling_b+i){ // mp_msg(MSGT_DEMUX,MSGL_DBG4,"descrambling! (w=%d b=%d)\n",w,asf_scrambling_b); //i+=asf_scrambling_h*asf_scrambling_w;