diff options
author | Sergio Giro <sgiro@google.com> | 2016-06-28 18:26:10 +0100 |
---|---|---|
committer | gitbuildkicker <android-build@google.com> | 2016-08-01 19:13:26 -0700 |
commit | 866dc26ad4a98cc835d075b627326e7d7e52ffa1 (patch) | |
tree | 54c57c23870e0246066e21e41d21c1168964ec17 | |
parent | 335702d106797bce8a88044783fa1fc1d5f751d0 (diff) | |
download | base-866dc26ad4a98cc835d075b627326e7d7e52ffa1.tar.gz |
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 7b0c71d93bb5..5a87c334c59e 100644 --- a/tools/aapt2/util/Util.cpp +++ b/tools/aapt2/util/Util.cpp @@ -441,8 +441,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 \ |