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

Commit db43afce authored by Yao Chen's avatar Yao Chen
Browse files

Fix a bug in vector reverse iteration.

Bug: 73264895

Test: statsd_test and locally built statsd with
     LOCAL_CLANG:=true
     LOCAL_SANITIZE:=address

Change-Id: Ifb8e04c5b4908446f553169846a3226db6e02f54
parent fc7423bc
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -241,10 +241,10 @@ void LogEvent::init(android_log_context context) {
                    // So that we can later easily match them with Position=Last matchers.
                    pos[prevDepth]--;
                    int path = getEncodedField(pos, prevDepth, false);
                    for (size_t j = mValues.size() - 1; j >= 0; j--) {
                        if (mValues[j].mField.getDepth() >= prevDepth &&
                            mValues[j].mField.getPath(prevDepth) == path) {
                            mValues[j].mField.decorateLastPos(prevDepth);
                    for (auto it = mValues.rbegin(); it != mValues.rend(); ++it) {
                        if (it->mField.getDepth() >= prevDepth &&
                            it->mField.getPath(prevDepth) == path) {
                            it->mField.decorateLastPos(prevDepth);
                        } else {
                            // Safe to break, because the items are in DFS order.
                            break;