From ee0a468f956b89ef9fad15ff10a9de527dc52e81 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 28 Mar 2022 01:03:31 +0200 Subject: [PATCH] soundicon: Avoid calling remove with uninitialized name fname_temp is not always getting filled. --- src/libespeak-ng/soundicon.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libespeak-ng/soundicon.c b/src/libespeak-ng/soundicon.c index 5a82e0ca..e2d5fd29 100644 --- a/src/libespeak-ng/soundicon.c +++ b/src/libespeak-ng/soundicon.c @@ -68,6 +68,8 @@ static espeak_ng_STATUS LoadSoundFile(const char *fname, int index, espeak_ng_ER fname = fname2; } + fname_temp[0] = 0; + f = NULL; if ((f = fopen(fname, "rb")) != NULL) { int ix; @@ -126,12 +128,14 @@ static espeak_ng_STATUS LoadSoundFile(const char *fname, int index, espeak_ng_ER if (fread(p, 1, length, f) != length) { int error = errno; fclose(f); - remove(fname_temp); + if (fname_temp[0]) + remove(fname_temp); free(p); return create_file_error_context(context, error, fname); } fclose(f); - remove(fname_temp); + if (fname_temp[0]) + remove(fname_temp); ip = (int *)(&p[40]); soundicon_tab[index].length = (*ip) / 2; // length in samples