From 9a03414e9919a6a2bf170e0656115d8158b6fa2e Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sat, 16 Jan 2016 11:47:27 +0000 Subject: [PATCH] Guard calls to the synth_callback function, as it might be NULL. --- src/libespeak-ng/speech.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/libespeak-ng/speech.c b/src/libespeak-ng/speech.c index 39d3f8f2..60739dba 100644 --- a/src/libespeak-ng/speech.c +++ b/src/libespeak-ng/speech.c @@ -194,10 +194,8 @@ int sync_espeak_terminated_msg(uint32_t unique_identifier, void *user_data) break; usleep(10000); } - } else { - if (synth_callback) - finished = synth_callback(NULL, 0, event_list); - } + } else if (synth_callback) + finished = synth_callback(NULL, 0, event_list); return finished; } @@ -441,7 +439,7 @@ static espeak_ng_STATUS Synthesize(unsigned int unique_identifier, const void *t if (finished < 0) return ENS_AUDIO_ERROR; #endif - } else + } else if (synth_callback) finished = synth_callback((short *)outbuf, length, event_list); if (finished) { SpeakNextClause(NULL, 0, 2); // stop @@ -463,7 +461,7 @@ static espeak_ng_STATUS Synthesize(unsigned int unique_identifier, const void *t if (dispatch_audio(NULL, 0, NULL) < 0) return ENS_AUDIO_ERROR; #endif - } else + } else if (synth_callback) synth_callback(NULL, 0, event_list); // NULL buffer ptr indicates end of data break; }