Mercurial > mplayer.hg
comparison libmpdemux/demux_mov.c @ 16679:66ce674de624
10l, off by one error in last patch (codecdata length sanity check),
caused crashes with qdmc audio.
author | reimar |
---|---|
date | Wed, 05 Oct 2005 14:55:06 +0000 |
parents | 465ad78c43c9 |
children | 6ff3379a0862 |
comparison
equal
deleted
inserted
replaced
16678:4ebad3313fe6 | 16679:66ce674de624 |
---|---|
710 sh->codecdata_len = char2int(trak->stdata,52+char2int(trak->stdata,52)); | 710 sh->codecdata_len = char2int(trak->stdata,52+char2int(trak->stdata,52)); |
711 mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Found alac atom (%d)!\n", sh->codecdata_len); | 711 mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Found alac atom (%d)!\n", sh->codecdata_len); |
712 sh->codecdata = (unsigned char *)malloc(sh->codecdata_len); | 712 sh->codecdata = (unsigned char *)malloc(sh->codecdata_len); |
713 memcpy(sh->codecdata, &trak->stdata[52+char2int(trak->stdata,52)], sh->codecdata_len); | 713 memcpy(sh->codecdata, &trak->stdata[52+char2int(trak->stdata,52)], sh->codecdata_len); |
714 } else { | 714 } else { |
715 if (len > 8 && len + 44 < trak->stdata_len) { | 715 if (len > 8 && len + 44 <= trak->stdata_len) { |
716 sh->codecdata_len = len-8; | 716 sh->codecdata_len = len-8; |
717 sh->codecdata = trak->stdata+44+8; | 717 sh->codecdata = trak->stdata+44+8; |
718 } | 718 } |
719 } | 719 } |
720 } | 720 } |