diff --git a/src/libespeak-ng/dictionary.c b/src/libespeak-ng/dictionary.c index cc1cd33d..3ff8e52e 100644 --- a/src/libespeak-ng/dictionary.c +++ b/src/libespeak-ng/dictionary.c @@ -693,7 +693,7 @@ static int IsLetterGroup(Translator *tr, char *word, int group, int pre) */ char *p; // group counter char *w; // word counter - int len = 0; + int len = 0, i; p = tr->letterGroups[group]; if (p == NULL) @@ -702,7 +702,14 @@ static int IsLetterGroup(Translator *tr, char *word, int group, int pre) while (*p != RULE_GROUP_END) { if (pre) { len = strlen(p); - w = word - len + 1; + w = word; + for (i = 0; i < len-1; i++) + { + w--; + if (*w == 0) + // Not found + return -1; + } } else w = word;