]> source.dussan.org Git - rspamd.git/commitdiff
More fixes to utf8 lc.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 2 Apr 2015 10:37:19 +0000 (11:37 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 2 Apr 2015 10:37:19 +0000 (11:37 +0100)
src/libutil/util.c

index 51445a8ba71842c4d463d14d033b56c6ea6c70e0..645c3d2fe94e8cbd5d609dd8bc6afdd660b35387 100644 (file)
@@ -677,7 +677,7 @@ rspamd_str_lc_utf8 (gchar *str, guint size)
 {
        const gchar *s = str, *p;
        gchar *d = str;
-       guint remain = size;
+       gint remain = size;
        gint r;
        gunichar uc;
 
@@ -686,12 +686,12 @@ rspamd_str_lc_utf8 (gchar *str, guint size)
                uc = g_unichar_tolower (uc);
                p = g_utf8_next_char (s);
 
-               if (p - s == 0) {
-                       return;
+               if (p - s > remain) {
+                       break;
                }
 
                r = g_unichar_to_utf8 (uc, d);
-               g_assert (r > 0);
+               g_assert (remain >= r);
                remain -= r;
                s = p;
                d += r;