From ecec635b449e7be94b57fe84bc8265d8debc0060 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 21 Jul 2022 00:33:09 +0200 Subject: [PATCH] Cope with truncated utf8 input --- src/libespeak-ng/translate.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libespeak-ng/translate.c b/src/libespeak-ng/translate.c index 64531632..9b13876c 100644 --- a/src/libespeak-ng/translate.c +++ b/src/libespeak-ng/translate.c @@ -301,7 +301,13 @@ int utf8_in2(int *c, const char *buf, int backwards) c1 &= mask[n_bytes]; for (ix = 0; ix < n_bytes; ix++) + { + if (!*buf) + /* Oops, truncated */ + break; c1 = (c1 << 6) + (*buf++ & 0x3f); + } + n_bytes = ix; } *c = c1; return n_bytes+1;