|
@@ -3643,8 +3643,10 @@ static int start_decoder(vorb *f)
|
|
|
f->vendor[len] = (char)'\0';
|
|
|
//user comments
|
|
|
f->comment_list_length = get32_packet(f);
|
|
|
- f->comment_list = (char**)setup_malloc(f, sizeof(char*) * (f->comment_list_length));
|
|
|
- if (f->comment_list == NULL && f->comment_list_length > 0) return error(f, VORBIS_outofmem);
|
|
|
+ f->comment_list = NULL;
|
|
|
+ if (f->comment_list_length > 0)
|
|
|
+ f->comment_list = (char**) setup_malloc(f, sizeof(char*) * (f->comment_list_length));
|
|
|
+ if (f->comment_list == NULL) return error(f, VORBIS_outofmem);
|
|
|
|
|
|
for(i=0; i < f->comment_list_length; ++i) {
|
|
|
len = get32_packet(f);
|