summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergio Giro2015-08-18 08:44:54 -0500
committerSergio Giro2015-08-18 08:44:54 -0500
commit4eeacbeec0ae66e9d9395abbf83666709f2e11e3 (patch)
tree54b71bd364e6d2fe716267d893425011bdd924ad /libutils/String8.cpp
parent516d30d5029c101ef32b600d3143513d3ce16933 (diff)
downloadplatform-system-core-4eeacbeec0ae66e9d9395abbf83666709f2e11e3.tar.gz
platform-system-core-4eeacbeec0ae66e9d9395abbf83666709f2e11e3.tar.xz
platform-system-core-4eeacbeec0ae66e9d9395abbf83666709f2e11e3.zip
libutils: fix overflow in String8::allocFromUTF8
Patch contributed in: https://code.google.com/p/android/issues/detail?id=182908 Bug: 23290056 Change-Id: Ide0e9a8acc4e95a9104bab3ae803aa3a40098222
Diffstat (limited to 'libutils/String8.cpp')
-rw-r--r--libutils/String8.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libutils/String8.cpp b/libutils/String8.cpp
index 28be60fb5..69313ead7 100644
--- a/libutils/String8.cpp
+++ b/libutils/String8.cpp
@@ -79,6 +79,9 @@ void terminate_string8()
79static char* allocFromUTF8(const char* in, size_t len) 79static char* allocFromUTF8(const char* in, size_t len)
80{ 80{
81 if (len > 0) { 81 if (len > 0) {
82 if (len == SIZE_MAX) {
83 return NULL;
84 }
82 SharedBuffer* buf = SharedBuffer::alloc(len+1); 85 SharedBuffer* buf = SharedBuffer::alloc(len+1);
83 ALOG_ASSERT(buf, "Unable to allocate shared buffer"); 86 ALOG_ASSERT(buf, "Unable to allocate shared buffer");
84 if (buf) { 87 if (buf) {