summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNedeljko Babic <nbabic@mips.com>2012-03-26 16:15:47 +0200
committerNedeljko Babic <nbabic@mips.com>2012-04-03 15:38:02 +0200
commitbcc4ee400392cf2abff3dd76ec435f420384c36e (patch)
treec7cb2712219406864e69deb1be7c9a9edb9265db
parentfc601af63d148d015f03b216c01e9734155fbc31 (diff)
downloadtremor-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.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/info.c b/info.c
index eccbdbe..90e1fd5 100644
--- a/info.c
+++ b/info.c
@@ -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.