From 6b97cd6d160107ce8c2493ee9318b1e463e6f637 Mon Sep 17 00:00:00 2001 From: Monty Date: Thu, 21 Jun 2007 06:33:37 +0000 Subject: Correct a cleanup dispatch error when a bitstream is rejected due to illegal map/floor/residue type. The cleanup subdispatch was done by type, unfortunately, the invalid type just read in. Fixed. git-svn-id: https://svn.xiph.org/trunk/Tremor@13161 0101bb08-14d6-0310-b084-bc0e0c8e3800 --- info.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'info.c') diff --git a/info.c b/info.c index 04c37d4..d453b21 100644 --- a/info.c +++ b/info.c @@ -123,13 +123,16 @@ void vorbis_info_clear(vorbis_info *vi){ if(ci->mode_param[i])_ogg_free(ci->mode_param[i]); for(i=0;imaps;i++) /* unpack does the range checking */ - _mapping_P[ci->map_type[i]]->free_info(ci->map_param[i]); + if(ci->map_param[i]) + _mapping_P[ci->map_type[i]]->free_info(ci->map_param[i]); for(i=0;ifloors;i++) /* unpack does the range checking */ - _floor_P[ci->floor_type[i]]->free_info(ci->floor_param[i]); + if(ci->floor_param[i]) + _floor_P[ci->floor_type[i]]->free_info(ci->floor_param[i]); for(i=0;iresidues;i++) /* unpack does the range checking */ - _residue_P[ci->residue_type[i]]->free_info(ci->residue_param[i]); + if(ci->residue_param[i]) + _residue_P[ci->residue_type[i]]->free_info(ci->residue_param[i]); for(i=0;ibooks;i++){ if(ci->book_param[i]){ -- cgit v1.2.1