From: Joshua Colp Date: Fri, 13 Oct 2006 21:01:13 +0000 (+0000) Subject: Check return value from engine in case of failure (ie: out of licenses) (reported... X-Git-Tag: 1.4.0-beta3~19 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8c09239585ae3b9df8b69f923024fd37c6f51392;p=thirdparty%2Fasterisk.git Check return value from engine in case of failure (ie: out of licenses) (reported on -dev mailing list) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@45104 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_speech.c b/res/res_speech.c index d0af877cd9..8330333b71 100644 --- a/res/res_speech.c +++ b/res/res_speech.c @@ -235,8 +235,12 @@ struct ast_speech *ast_speech_new(char *engine_name, int format) /* We are not ready to accept audio yet */ ast_speech_change_state(new_speech, AST_SPEECH_STATE_NOT_READY); - /* Pass ourselves to the engine so they can set us up some more */ - engine->new(new_speech); + /* Pass ourselves to the engine so they can set us up some more and if they error out then do not create a structure */ + if (engine->new(new_speech)) { + ast_mutex_destroy(&new_speech->lock); + free(new_speech); + new_speech = NULL; + } return new_speech; }