Fix heap-buffer-overflow detected by ASAN.

Bug: 34949125
Bug: 34606909
Test: Make sure Android boots when built with SANITIZE_TARGET='address'
Change-Id: I9c004e806f2025098aa72228284b05affd2c2802
This commit is contained in:
Alex Shlyapnikov 2017-02-14 17:21:55 -08:00 committed by Vishwath Mohan
parent bb5a8380b0
commit 589f4e7a66

View file

@ -182,7 +182,10 @@ static enum match_type identical(LogBufferElement* elem, LogBufferElement* last)
if (!avcr) return DIFFERENT;
lenr -= avcr - msgr;
if (lenl != lenr) return DIFFERENT;
if (fastcmp<memcmp>(avcl + strlen(avc),
// 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;