Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3bf0509 authored by David Chen's avatar David Chen
Browse files

Fixes LogEvent constructor to use reference.

Previously when fixing LogEvent missing strings because of pointer
lifetime issues, I had the constructor for LogEvent pass log_msg by
value. This fixes log_msg to pass by reference again so that we avoid
wasting memory.

Test: Checked statsd unit-tests still pass.
Change-Id: I94ac4d1bed19fec19d44e27fe94e07ab30383363
parent 1b7c2e9f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ using android::util::ProtoOutputStream;

// We need to keep a copy of the android_log_event_list owned by this instance so that the char*
// for strings is not cleared before we can read them.
LogEvent::LogEvent(log_msg msg) : mList(msg) {
LogEvent::LogEvent(log_msg& msg) : mList(msg) {
    init(msg.entry_v1.sec * NS_PER_SEC + msg.entry_v1.nsec, &mList);
}

+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ public:
    /**
     * Read a LogEvent from a log_msg.
     */
    explicit LogEvent(log_msg msg);
    explicit LogEvent(log_msg& msg);

    /**
     * Constructs a LogEvent with the specified tag and creates an android_log_event_list in write