Android 7.0.0 release 3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEABECAAYFAlfO7nwACgkQ6K0/gZqxDnhSNACeJmDe18NXLL+Ua/9wS1RKtlz7
KMAAni1NP+8RTIi9o2L7H9P4C7V8rlZs
=toCs
-----END PGP SIGNATURE-----
libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8

Inconsistent behaviour between utf16_to_utf8 and utf16_to_utf8_length
is causing a heap overflow.

Correcting the length computation and adding bound checks to the
conversion functions.

Test: ran libutils_tests
Bug: 29250543
Change-Id: I6115e3357141ed245c63c6eb25fc0fd0a9a7a2bb
(cherry picked from commit c4966a363e46d2e1074d1a365e232af0dcedd6a1)
4 files changed