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

iEYEABECAAYFAlfO7ocACgkQ6K0/gZqxDni0vACdHJyJxTwpq2hqOgyCk1LwEDY/
ufYAn3mBpxSmfPSVYMuPvv5H7XNmUJPA
=3jSa
-----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