From 4ac6355834caa8a658fb0e3948aa53963ff0b478 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Tue, 12 Jan 2016 21:44:50 +0000 Subject: [PATCH] Fix the realloc usage of voices in espeak_ListVoices(voices.c) [msvc /analyze] --- src/libespeak-ng/voices.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c index 01bf7f9b..830a9458 100644 --- a/src/libespeak-ng/voices.c +++ b/src/libespeak-ng/voices.c @@ -1608,7 +1608,10 @@ ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec) GetVoices(path_voices); voices_list[n_voices_list] = NULL; // voices list terminator - voices = (espeak_VOICE **)realloc(voices, sizeof(espeak_VOICE *)*(n_voices_list+1)); + espeak_VOICE **new_voices = (espeak_VOICE **)realloc(voices, sizeof(espeak_VOICE *)*(n_voices_list+1)); + if (new_voices == NULL) + return voices; + voices = new_voices; // sort the voices list qsort(voices_list, n_voices_list, sizeof(espeak_VOICE *),