Skip to content

Commit 6d11ebe

Browse files
committed
Fix a memory in case of loading failure
1 parent 854a03a commit 6d11ebe

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

src/smf_load.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -890,13 +890,17 @@ smf_load_from_memory(const void *buffer, const int buffer_length)
890890
smf->file_buffer_length = buffer_length;
891891
smf->next_chunk_offset = 0;
892892

893-
if (parse_mthd_chunk(smf))
893+
if (parse_mthd_chunk(smf)) {
894+
smf_delete(smf);
894895
return (NULL);
896+
}
895897

896898
for (i = 1; i <= smf->expected_number_of_tracks; i++) {
897899
smf_track_t *track = smf_track_new();
898-
if (track == NULL)
900+
if (track == NULL) {
901+
smf_delete(smf);
899902
return (NULL);
903+
}
900904

901905
smf_add_track(smf, track);
902906

0 commit comments

Comments
 (0)