# HG changeset patch # User eugeni # Date 1199994438 0 # Node ID a4c3eb7ef5471e725174eda7e38b1dd54d276146 # Parent 7c383969fb67783eefe14d4ca436a497be159749 Use malloc for codecdata. Fixes segfault in free_sh_sub. diff -r 7c383969fb67 -r a4c3eb7ef547 libmpcodecs/ad_faad.c --- a/libmpcodecs/ad_faad.c Thu Jan 10 19:21:56 2008 +0000 +++ b/libmpcodecs/ad_faad.c Thu Jan 10 19:47:18 2008 +0000 @@ -75,7 +75,8 @@ // If we don't get the ES descriptor, try manual config if(!sh->codecdata_len && sh->wf) { sh->codecdata_len = sh->wf->cbSize; - sh->codecdata = (char*)(sh->wf+1); + sh->codecdata = malloc(sh->codecdata_len); + memcpy(sh->codecdata, sh->wf+1, sh->codecdata_len); mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"FAAD: codecdata extracted from WAVEFORMATEX\n"); } if(!sh->codecdata_len) {