Add bound checks to utf16_to_utf8
Test: ran libaapt2_tests64
Bug: 29250543
Change-Id: I1ebc017af623b6514cf0c493e8cd8e1d59ea26c3
(cherry picked from commit 4781057e78)
This commit is contained in:
@@ -57,8 +57,8 @@ aaptTests := \
|
|||||||
aaptHostStaticLibs := \
|
aaptHostStaticLibs := \
|
||||||
libandroidfw \
|
libandroidfw \
|
||||||
libpng \
|
libpng \
|
||||||
liblog \
|
|
||||||
libutils \
|
libutils \
|
||||||
|
liblog \
|
||||||
libcutils \
|
libcutils \
|
||||||
libexpat \
|
libexpat \
|
||||||
libziparchive-host \
|
libziparchive-host \
|
||||||
|
|||||||
@@ -441,8 +441,10 @@ std::string utf16ToUtf8(const StringPiece16& utf16) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string utf8;
|
std::string utf8;
|
||||||
|
// Make room for '\0' explicitly.
|
||||||
|
utf8.resize(utf8Length + 1);
|
||||||
|
utf16_to_utf8(utf16.data(), utf16.length(), &*utf8.begin(), utf8Length + 1);
|
||||||
utf8.resize(utf8Length);
|
utf8.resize(utf8Length);
|
||||||
utf16_to_utf8(utf16.data(), utf16.length(), &*utf8.begin());
|
|
||||||
return utf8;
|
return utf8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,8 +47,8 @@ hostStaticLibs := \
|
|||||||
libaapt \
|
libaapt \
|
||||||
libandroidfw \
|
libandroidfw \
|
||||||
libpng \
|
libpng \
|
||||||
liblog \
|
|
||||||
libutils \
|
libutils \
|
||||||
|
liblog \
|
||||||
libcutils \
|
libcutils \
|
||||||
libexpat \
|
libexpat \
|
||||||
libziparchive-host \
|
libziparchive-host \
|
||||||
|
|||||||
Reference in New Issue
Block a user