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

iEYEABECAAYFAlfR97wACgkQ6K0/gZqxDnjm/gCfZVeR7VwctPJlEjpL4ah1JI6y
eE8An36xaq8JPFZ/2Is+QC2oycX9KGnH
=b1nQ
-----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