Browse Source

TranslateWord2: Don't process invalid phonemes.

If ph_code is not located in the phoneme_tab, the resulting ph
value will be NULL. This does not normally happen, but it can
happen if word_phonemes contains garbage data, such as with the
1.49.2 multi-word logic when processing words like 'riposted'.
master
Reece H. Dunn 7 years ago
parent
commit
07e155a150
1 changed files with 4 additions and 0 deletions
  1. 4
    0
      src/libespeak-ng/translate.c

+ 4
- 0
src/libespeak-ng/translate.c View File

@@ -1618,6 +1618,10 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa

// Add the phonemes to the first stage phoneme list (ph_list2)
ph = phoneme_tab[ph_code];
if (ph == NULL) {
printf("Invalid phoneme code %d\n", ph_code);
continue;
}

if (ph_code == phonSWITCH) {
ph_list2[n_ph_list2].phcode = ph_code;

Loading…
Cancel
Save