diff -r 40aa2248e2a0 -r 9725f7b50000 libpurple/util.c --- a/libpurple/util.c Wed May 14 17:05:26 2014 +0200 +++ b/libpurple/util.c Thu May 15 17:20:31 2014 +0200 @@ -3952,6 +3952,10 @@ for (i = 0; i < bytes; i++) { if (j > (BUF_LEN - 4)) break; + if (i >= sizeof(utf_char)) { + g_warn_if_reached(); + break; + } sprintf(buf + j, "%%%02X", utf_char[i] & 0xff); j += 3; } @@ -4607,6 +4611,10 @@ for (i = 0; i < bytes; i++) { if (j > (BUF_LEN - 4)) break; + if (i >= sizeof(utf_char)) { + g_warn_if_reached(); + break; + } sprintf(buf + j, "%%%02x", utf_char[i] & 0xff); j += 3; }