simple-disambiguator: don't crash on NULL candidates.
authorKrisztian Litkey <kli@iki.fi>
Fri, 20 Dec 2013 12:31:16 +0000 (14:31 +0200)
committerKrisztian Litkey <kli@iki.fi>
Fri, 10 Jan 2014 15:07:52 +0000 (17:07 +0200)
src/plugins/simple-disambiguator/disambiguator.c

index ac61deb..dd56158 100644 (file)
@@ -528,6 +528,9 @@ static int disambiguate(srs_srec_utterance_t *utt, srs_srec_result_t **result,
         return -1;
     }
 
+    if (utt->ncand == 0 || src == NULL)
+        goto unrecognized;
+
     for (i = 0, match = TRUE; i < (int)src->ntoken && match; i++) {
         tkn = src->tokens[i].token;
 
@@ -664,8 +667,10 @@ static int disambiguate(srs_srec_utterance_t *utt, srs_srec_result_t **result,
         }
     }
 
-    if (!match)
+    if (!match) {
+    unrecognized:
         res->type = SRS_SREC_RESULT_UNRECOGNIZED;
+    }
 
     return 0;
 }