diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2017-03-15 06:46:27 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-03-15 06:46:28 +0000 |
commit | 3d028f14c8a23c20e406f8f9d2c1ce7c8b54ad49 (patch) | |
tree | 724cc4a8e269cb0dc0e1882853d13108191fd2e8 | |
parent | 97a2c49a58462e94097c444adae372be8dd3a022 (diff) | |
parent | 03fc2fedd7ce46f79a6a319c14a14d2250a4d9d9 (diff) |
Merge "Fix heap-buffer-overflow detected by ASAN."
-rw-r--r-- | logd/LogBuffer.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/logd/LogBuffer.cpp b/logd/LogBuffer.cpp index 9c634f680..2b6c27688 100644 --- a/logd/LogBuffer.cpp +++ b/logd/LogBuffer.cpp @@ -180,8 +180,13 @@ static enum match_type identical(LogBufferElement* elem, if (!avcr) return DIFFERENT; lenr -= avcr - msgr; if (lenl != lenr) return DIFFERENT; - if (fastcmp<memcmp>(avcl + strlen(avc), avcr + strlen(avc), lenl)) + // TODO: After b/35468874 is addressed, revisit "lenl > strlen(avc)" + // condition, it might become superflous. + if (lenl > strlen(avc) && + fastcmp<memcmp>(avcl + strlen(avc), avcr + strlen(avc), + lenl - strlen(avc))) { return DIFFERENT; + } return SAME; } |