Merge pull request #40174 from akien-mga/stb_vorbis-fix-comment-oom-crash

stb_vorbis: Add missing error checks in comment reading mallocs
This commit is contained in:
Rémi Verschelde 2020-07-07 12:16:59 +02:00 committed by GitHub
commit d0e0a19e4d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3630,6 +3630,7 @@ static int start_decoder(vorb *f)
//file vendor
len = get32_packet(f);
f->vendor = (char*)setup_malloc(f, sizeof(char) * (len+1));
if (f->vendor == NULL) return error(f, VORBIS_outofmem);
for(i=0; i < len; ++i) {
f->vendor[i] = get8_packet(f);
}
@ -3637,10 +3638,12 @@ static int start_decoder(vorb *f)
//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) return error(f, VORBIS_outofmem);
for(i=0; i < f->comment_list_length; ++i) {
len = get32_packet(f);
f->comment_list[i] = (char*)setup_malloc(f, sizeof(char) * (len+1));
if (f->comment_list[i] == NULL) return error(f, VORBIS_outofmem);
for(j=0; j < len; ++j) {
f->comment_list[i][j] = get8_packet(f);