Merged revisions 45104 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Fri, 13 Oct 2006 21:03:05 +0000 (21:03 +0000)
committerJoshua Colp <jcolp@digium.com>
Fri, 13 Oct 2006 21:03:05 +0000 (21:03 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r45104 | file | 2006-10-13 17:01:13 -0400 (Fri, 13 Oct 2006) | 2 lines

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/trunk@45105 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_speech.c

index d0af877..8330333 100644 (file)
@@ -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;
 }