Codecdata must always be malloc'd, fixes free being called with an

invalid pointer when freeing codecdata.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25658 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2008-01-09 07:18:14 +00:00
parent 41f6ee5c0e
commit f9e6def939
1 changed files with 4 additions and 2 deletions

View File

@ -747,13 +747,15 @@ static int gen_sh_audio(sh_audio_t* sh, mov_track_t* trak, int timescale) {
default:
if (len > 8 && len + 44 <= trak->stdata_len) {
sh->codecdata_len = len-8;
sh->codecdata = trak->stdata+44+8;
sh->codecdata = malloc(sh->codecdata_len);
memcpy(sh->codecdata, trak->stdata+44+8, sh->codecdata_len);
}
}
} else {
if (len > 8 && len + 44 <= trak->stdata_len) {
sh->codecdata_len = len-8;
sh->codecdata = trak->stdata+44+8;
sh->codecdata = malloc(sh->codecdata_len);
memcpy(sh->codecdata, trak->stdata+44+8, sh->codecdata_len);
}
}
}