platform_system_core/libutils/include/utils
Mark Salyzyn 0484b3b575 logd: ASAN cleansing
A mixture of fixes and cleanup for LogKlog.cpp and friends.

- sscanf calls strlen.  Check if the string is missing a nul
  terminator, if it is, do not call sscanf.
- replace NULL with nullptr for stronger typechecking.
- pass by reference for simpler code.
- Use ssize_t where possible to check for negative values.
- fix FastCmp to add some validity checking since ASAN reports that
  callers are not making sure pre-conditions are met.
- add fasticmp templates for completeness.
- if the buffer is too small to contain a meaningful time, do not
  call down to log_time::strptime() because it does not limit its
  accesses to the buffer boundaries, instead stopping at a
  terminating nul or invalid match.
- move strnstr to LogUtils.h, drop size checking of needle and
  clearly report the list of needles used with android::strnstr
- replace 'sizeof(static const char[]) - 1' with strlen.

Test: gTest liblog-unit-test, logd-unit-tests & logcat-unit-tests
Bug: 30792935
Bug: 36536248
Bug: 35468874
Bug: 34949125
Bug: 34606909
Bug: 36075298
Bug: 36608728
Change-Id: I161bf03ba029050e809b31cceef03f729d318866
2017-03-27 13:32:57 -07:00
..
AndroidThreads.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Atomic.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
BitSet.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
BlobCache.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
ByteOrder.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
CallStack.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Compat.h libziparchive: fix mac os breakage 2017-03-23 12:02:09 -07:00
Condition.h Clarify that Condition::wait() can spuriously wake up 2017-03-02 12:36:45 -08:00
Debug.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Endian.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Errors.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
FastStrcmp.h logd: ASAN cleansing 2017-03-27 13:32:57 -07:00
FileMap.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Flattenable.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Functor.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
JenkinsHash.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
KeyedVector.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
LinearTransform.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
List.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Log.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Looper.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
LruCache.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
misc.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Mutex.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
NativeHandle.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Printer.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
ProcessCallStack.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
PropertyMap.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
RefBase.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
RWLock.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Singleton.h Fix multiton issue 2017-02-23 18:22:46 -08:00
SortedVector.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
StopWatch.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
String8.h libutils: String\d+ make std_string private 2017-03-10 22:51:55 -08:00
String16.h libutils: String\d+ make std_string private 2017-03-10 22:51:55 -08:00
StrongPointer.h Add heuristic data race detection to sp<> 2017-03-17 17:47:28 -07:00
SystemClock.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Thread.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
ThreadDefs.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
threads.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Timers.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Tokenizer.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Trace.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
TypeHelpers.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Unicode.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Vector.h Vector.h: remove unused import <new> 2017-02-17 13:19:08 -08:00
VectorImpl.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00