diff options
author | Nedeljko Babic <nbabic@mips.com> | 2012-03-26 16:15:47 +0200 |
---|---|---|
committer | Nedeljko Babic <nbabic@mips.com> | 2012-04-03 15:38:02 +0200 |
commit | bcc4ee400392cf2abff3dd76ec435f420384c36e (patch) | |
tree | c7cb2712219406864e69deb1be7c9a9edb9265db | |
parent | fc601af63d148d015f03b216c01e9734155fbc31 (diff) | |
download | tremor-bcc4ee400392cf2abff3dd76ec435f420384c36e.tar.gz |
Port r14984 from libvorbis.
Correct an accidental dereference-before-check in error cleanup in comments.
[Import changes from Tremor(e847296 2010-10-13)]
-rw-r--r-- | info.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -90,13 +90,15 @@ int vorbis_comment_query_count(vorbis_comment *vc, char *tag){ void vorbis_comment_clear(vorbis_comment *vc){ if(vc){ long i; - for(i=0;i<vc->comments;i++) - if(vc->user_comments[i])_ogg_free(vc->user_comments[i]); - if(vc->user_comments)_ogg_free(vc->user_comments); - if(vc->comment_lengths)_ogg_free(vc->comment_lengths); + if(vc->user_comments){ + for(i=0;i<vc->comments;i++) + if(vc->user_comments[i])_ogg_free(vc->user_comments[i]); + _ogg_free(vc->user_comments); + } + if(vc->comment_lengths)_ogg_free(vc->comment_lengths); if(vc->vendor)_ogg_free(vc->vendor); + memset(vc,0,sizeof(*vc)); } - memset(vc,0,sizeof(*vc)); } /* blocksize 0 is guaranteed to be short, 1 is guarantted to be long. |