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 |
||
|---|---|---|
| .. | ||
| AndroidThreads.h | ||
| Atomic.h | ||
| BitSet.h | ||
| BlobCache.h | ||
| ByteOrder.h | ||
| CallStack.h | ||
| Compat.h | ||
| Condition.h | ||
| Debug.h | ||
| Endian.h | ||
| Errors.h | ||
| FastStrcmp.h | ||
| FileMap.h | ||
| Flattenable.h | ||
| Functor.h | ||
| JenkinsHash.h | ||
| KeyedVector.h | ||
| LinearTransform.h | ||
| List.h | ||
| Log.h | ||
| Looper.h | ||
| LruCache.h | ||
| misc.h | ||
| Mutex.h | ||
| NativeHandle.h | ||
| Printer.h | ||
| ProcessCallStack.h | ||
| PropertyMap.h | ||
| RefBase.h | ||
| RWLock.h | ||
| Singleton.h | ||
| SortedVector.h | ||
| StopWatch.h | ||
| String8.h | ||
| String16.h | ||
| StrongPointer.h | ||
| SystemClock.h | ||
| Thread.h | ||
| ThreadDefs.h | ||
| threads.h | ||
| Timers.h | ||
| Tokenizer.h | ||
| Trace.h | ||
| TypeHelpers.h | ||
| Unicode.h | ||
| Vector.h | ||
| VectorImpl.h | ||