diff options
| author | 2016-06-28 18:26:10 +0100 | |
|---|---|---|
| committer | 2016-08-25 12:19:12 +0200 | |
| commit | d90d8d615a99ad9f75e2911e98a166b396a89053 (patch) | |
| tree | a36708554d2e9010da4601b1930510926bcc2d42 | |
| parent | 8f7b8a1f6c5808ea205bfb3294a313e2bcaedf7f (diff) | |
Add bound checks to utf16_to_utf8
Test: ran libaapt2_tests64
Bug: 29250543
Change-Id: I1ebc017af623b6514cf0c493e8cd8e1d59ea26c3
(cherry picked from commit 4781057e78f63e0e99af109cebf3b6a78f4bfbb6)
| -rw-r--r-- | tools/aapt/Android.mk | 2 | ||||
| -rw-r--r-- | tools/aapt2/util/Util.cpp | 4 | ||||
| -rw-r--r-- | tools/split-select/Android.mk | 2 | 
3 files changed, 5 insertions, 3 deletions
diff --git a/tools/aapt/Android.mk b/tools/aapt/Android.mk index b7014454771c..2a490d1097ef 100644 --- a/tools/aapt/Android.mk +++ b/tools/aapt/Android.mk @@ -57,8 +57,8 @@ aaptTests := \  aaptHostStaticLibs := \      libandroidfw \      libpng \ -    liblog \      libutils \ +    liblog \      libcutils \      libexpat \      libziparchive-host \ diff --git a/tools/aapt2/util/Util.cpp b/tools/aapt2/util/Util.cpp index 7ee6e774f6b4..e07c88ec9579 100644 --- a/tools/aapt2/util/Util.cpp +++ b/tools/aapt2/util/Util.cpp @@ -445,8 +445,10 @@ std::string utf16ToUtf8(const StringPiece16& utf16) {      }      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); -    utf16_to_utf8(utf16.data(), utf16.length(), &*utf8.begin());      return utf8;  } diff --git a/tools/split-select/Android.mk b/tools/split-select/Android.mk index 239bed589412..863abae1e0fb 100644 --- a/tools/split-select/Android.mk +++ b/tools/split-select/Android.mk @@ -47,8 +47,8 @@ hostStaticLibs := \      libaapt \      libandroidfw \      libpng \ -    liblog \      libutils \ +    liblog \      libcutils \      libexpat \      libziparchive-host \  |