Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7157:0c1d5a814368 HEAD
uni_utf8_get_valid_data(): Check for invalid UTF-8 better.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 14 Jan 2008 06:44:38 +0200 |
parents | 5dda06c19eb1 |
children | f41bd3065ec8 |
files | src/lib/unichar.c |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/unichar.c Sat Jan 12 11:47:12 2008 +0200 +++ b/src/lib/unichar.c Mon Jan 14 06:44:38 2008 +0200 @@ -295,11 +295,12 @@ size_t i, len; len = uni_utf8_char_bytes(input[0]); - if (unlikely(len > size)) + if (unlikely(len > size || len == 1)) return 0; - for (i = 0; i < len; i++) { - if (unlikely(uni_utf8_char_bytes(input[i]) != len-i)) + for (i = 1; i < len; i++) { + if (unlikely(uni_utf8_char_bytes(input[i]) != len-i || + input[i] < 192-2)) return 0; } return len;