From: Yao Chen Date: Sun, 19 Nov 2017 02:56:52 +0000 (-0800) Subject: Fix a memory leak in LogEvent X-Git-Tag: android-x86-9.0-r1~321^2~1^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ae6a83a1cd729376fda3a849714b529f9666f4cb;p=android-x86%2Fframeworks-base.git Fix a memory leak in LogEvent My previous understanding of the liblog api was wrong. Luckily it is caught in time. Also added a memory profiling tool in another CL. Test: statsd_test adb shell dumpsys meminfo adb shell cmd stats meminfo Change-Id: I742af2a38e52e35edf0d4c77ccc35ede7019a73b --- diff --git a/cmds/statsd/src/logd/LogEvent.cpp b/cmds/statsd/src/logd/LogEvent.cpp index 80236703c89e..103213830914 100644 --- a/cmds/statsd/src/logd/LogEvent.cpp +++ b/cmds/statsd/src/logd/LogEvent.cpp @@ -30,11 +30,10 @@ using std::string; using android::util::ProtoOutputStream; LogEvent::LogEvent(log_msg& msg) { - android_log_context context = + mContext = create_android_log_parser(msg.msg() + sizeof(uint32_t), msg.len() - sizeof(uint32_t)); mTimestampNs = msg.entry_v1.sec * NS_PER_SEC + msg.entry_v1.nsec; - mContext = NULL; - init(context); + init(mContext); } LogEvent::LogEvent(int32_t tagId, uint64_t timestampNs) {