am d34f4198: Merge "strdup16to8.c: fix benign integer underflow."

* commit 'd34f419826e74640dfe88c50d171a0cd8580eeda':
  strdup16to8.c: fix benign integer underflow.
This commit is contained in:
Nick Kralevich 2015-08-27 18:01:44 +00:00 committed by Android Git Automerger
commit 212e4f1fe1
1 changed files with 6 additions and 3 deletions

View File

@ -55,7 +55,8 @@ extern size_t strnlen16to8(const char16_t* utf16Str, size_t len)
/* Fast path for the usual case where 3*len is < SIZE_MAX-1.
*/
if (len < (SIZE_MAX-1)/3) {
while (len--) {
while (len != 0) {
len--;
unsigned int uic = *utf16Str++;
if (uic > 0x07ff)
@ -69,7 +70,8 @@ extern size_t strnlen16to8(const char16_t* utf16Str, size_t len)
}
/* The slower but paranoid version */
while (len--) {
while (len != 0) {
len--;
unsigned int uic = *utf16Str++;
size_t utf8Cur = utf8Len;
@ -112,7 +114,8 @@ extern char* strncpy16to8(char* utf8Str, const char16_t* utf16Str, size_t len)
* strnlen16to8() properly or at a minimum checked the result of
* its malloc(SIZE_MAX) in case of overflow.
*/
while (len--) {
while (len != 0) {
len--;
unsigned int uic = *utf16Str++;
if (uic > 0x07ff) {