From b7b420617ba658031d0f6d7db793781f407c0114 Mon Sep 17 00:00:00 2001 From: derselbst Date: Sat, 29 Dec 2018 18:21:43 +0100 Subject: [PATCH] fix double free in fluid_sample_set_sound_data() --- src/sfloader/fluid_sfont.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/sfloader/fluid_sfont.c b/src/sfloader/fluid_sfont.c index d7362498..09df0e37 100644 --- a/src/sfloader/fluid_sfont.c +++ b/src/sfloader/fluid_sfont.c @@ -572,9 +572,10 @@ fluid_sample_set_sound_data(fluid_sample_t *sample, { FLUID_FREE(sample->data); FLUID_FREE(sample->data24); - sample->data = NULL; - sample->data24 = NULL; } + + sample->data = NULL; + sample->data24 = NULL; if(copy_data) { @@ -637,6 +638,8 @@ error_rec: FLUID_LOG(FLUID_ERR, "Out of memory"); FLUID_FREE(sample->data); FLUID_FREE(sample->data24); + sample->data = NULL; + sample->data24 = NULL; return FLUID_FAILED; #undef SAMPLE_LOOP_MARGIN