Browse Source

Fix reading hash table entries > 128.

This is related to ebfa320956169e3419234b72fee51bd596867661, but
when reading the hash chain entry length, not writing it.

If char is signed, then before this change the length would be
negative, causing problems loading the dictionary.
master
Reece H. Dunn 7 years ago
parent
commit
22270bd259
1 changed files with 1 additions and 1 deletions
  1. 1
    1
      src/libespeak-ng/dictionary.c

+ 1
- 1
src/libespeak-ng/dictionary.c View File

@@ -254,7 +254,7 @@ int LoadDictionary(Translator *tr, const char *name, int no_error)

for (hash = 0; hash < N_HASH_DICT; hash++) {
tr->dict_hashtab[hash] = p;
while ((length = *p) != 0)
while ((length = *(uint8_t *)p) != 0)
p += length;
p++; // skip over the zero which terminates the list for this hash value
}

Loading…
Cancel
Save