From 2d3a49b1611e5e9d068f94c1f7f27c2da126a1f7 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 9 Jun 2022 08:16:02 +0200 Subject: [PATCH] Make static arrays undefined on entry into LoadVoice This would have caught #1200 --- src/libespeak-ng/voices.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c index 85210481..2b91859d 100644 --- a/src/libespeak-ng/voices.c +++ b/src/libespeak-ng/voices.c @@ -554,6 +554,12 @@ voice_t *LoadVoice(const char *vname, int control) static char voice_name[40]; // voice name for current_voice_selected static char voice_languages[100]; // list of languages and priorities for current_voice_selected + if (!tone_only) { + MAKE_MEM_UNDEFINED(&voice_identifier, sizeof(voice_identifier)); + MAKE_MEM_UNDEFINED(&voice_name, sizeof(voice_name)); + MAKE_MEM_UNDEFINED(&voice_languages, sizeof(voice_languages)); + } + strncpy0(voicename, vname, sizeof(voicename)); if (control & 0x10) { strcpy(buf, vname);