android_system_core/include/utils
Sergio Giro 53473c1607 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.

(cherry picked from commit c4966a363e)
(changed code for safetynet logging due to lack of sstream and string in klp)

Change-Id: If50d59a91a13fddbff9a8fff0d3eebe57c711e93
Bug: 29250543
2016-07-12 18:39:11 +01:00
..
AndroidThreads.h rename binder services main thread to Binder_* 2013-07-30 13:57:01 -07:00
ashmem.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
Atomic.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
BasicHashtable.h libutils: give BasicHashtableImpl a virtual destructor 2013-07-30 13:57:01 -07:00
BitSet.h Added bitwise-or and bitwise-and to BitSet 2013-07-30 13:57:01 -07:00
BlobCache.h Make Flattenable not virtual (libutils) 2013-07-31 13:41:41 -07:00
ByteOrder.h Implement the C++ class to write the backed up file data. 2013-07-30 13:56:50 -07:00
CallStack.h utils: Add ProcessCallStack to collect stack traces for all threads in a process 2013-10-25 19:24:56 -07:00
Compat.h Add TEMP_FAILURE_RETRY to ZipUtils 2013-07-30 13:57:00 -07:00
Condition.h Add Thread::isRunning and Condition::signal(WakeUpType) 2013-07-30 13:57:01 -07:00
Debug.h libutils clean-up 2013-07-30 13:57:01 -07:00
Endian.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
Errors.h Add mechanism for Parcel to not allow FDs to be written to it. 2013-07-30 13:56:58 -07:00
FileMap.h Change assets to use 64-bit API 2013-07-30 13:56:55 -07:00
Flattenable.h minor tweaks to FlattenableUtils 2013-08-01 12:47:58 -07:00
Functor.h Modify the GL renderer's functor to pass the clip to WebView 2013-07-30 13:56:56 -07:00
JenkinsHash.h Add another ifndef and a couple of methods to LruCache 2013-07-30 13:57:00 -07:00
KeyedVector.h improve Vector<> safety checks 2013-07-30 13:56:59 -07:00
LinearAllocator.h Add LinearAllocator 2013-07-30 13:57:00 -07:00
LinearTransform.h Add a linear transform library to libutils 2013-07-30 13:56:57 -07:00
List.h Fix sim build. 2013-07-30 13:56:51 -07:00
Log.h utils: Allow non android namespaces to use ALOGD_IF_SLOW 2013-07-30 13:57:00 -07:00
Looper.h Add new Looper API to check whether the looper is idle. 2013-07-30 13:57:01 -07:00
LruCache.h libutils clean-up 2013-07-30 13:57:01 -07:00
misc.h libutils clean-up 2013-07-30 13:57:01 -07:00
Mutex.h utils: fix warnings for unused parameters 2013-07-30 13:57:00 -07:00
Printer.h utils: Add ProcessCallStack to collect stack traces for all threads in a process 2013-10-25 19:24:56 -07:00
ProcessCallStack.h utils: Add ProcessCallStack to collect stack traces for all threads in a process 2013-10-25 19:24:56 -07:00
PropertyMap.h Add initial support for cursor-based pointing devices. 2013-07-30 13:56:55 -07:00
RefBase.h Fix a crasher with RefBase debugging and vectors of wp<> 2013-07-30 13:57:01 -07:00
RWLock.h utils: fix warnings for unused parameters 2013-07-30 13:57:00 -07:00
SharedBuffer.h minor SharedBuffer clean-up 2013-07-30 13:57:00 -07:00
Singleton.h Fixed clang build error for libgui 2013-07-30 13:57:00 -07:00
SortedVector.h get rid of mirrorItemAt() which isn't used anywhere 2013-07-30 13:57:00 -07:00
StopWatch.h Native input dispatch rewrite work in progress. 2013-07-30 13:56:53 -07:00
String8.h new String8, String16 ctors to initialize empty static strings with static linkage 2013-07-30 13:57:01 -07:00
String16.h new String8, String16 ctors to initialize empty static strings with static linkage 2013-07-30 13:57:01 -07:00
StrongPointer.h remove unused declarations and reformat 2013-07-30 13:57:01 -07:00
SystemClock.h libutils clean-up 2013-07-30 13:57:01 -07:00
Thread.h Add Thread::isRunning and Condition::signal(WakeUpType) 2013-07-30 13:57:01 -07:00
ThreadDefs.h utils: move thread enums to system/core 2013-07-30 13:57:01 -07:00
threads.h split utils/threads.h into multiple headers 2013-07-30 13:56:59 -07:00
Timers.h libutils clean-up 2013-07-30 13:57:01 -07:00
Tokenizer.h Support tokenizing arbitrary content. 2013-07-30 13:56:59 -07:00
Trace.h Make trace macros slightly more robust 2013-07-30 13:57:01 -07:00
TypeHelpers.h Add an LRU cache plus hashing primitives 2013-07-30 13:57:00 -07:00
Unicode.h libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 2016-07-12 18:39:11 +01:00
UniquePtr.h Add UniquePtr.h to frameworks/native 2013-07-30 13:56:59 -07:00
Vector.h Add Vector::resize() 2013-07-30 13:57:01 -07:00
VectorImpl.h remove reserved virtual slots 2013-07-30 13:57:01 -07:00