Jacek Caban (@jacek) commented about dlls/kernelbase/path.c:
/* Check if it is a valid continuation byte. */
if (*(src + 1) == '%' && (ih & 0xc0) == 0x80)
{
utf8_buf[i] = ih;
src += 3;
}
else
{
utf8_len = i;
break;
}
}
utf16_len = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, utf8_buf, utf8_len, NULL, 0);
if (!utf16_len)
continue;
Is continue right in this case? Should we use something like next = 0xffff instead? A test would be nice.