From 559b2e0187a1704a9db506f2abfe03111786dda6 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Thu, 27 Jun 2019 23:24:36 +0000 Subject: [PATCH] hwasan: Fix an off-by-one error in PrintTagsAroundAddr. Previously we were printing 16 rows of tags, not 17. Differential Revision: https://reviews.llvm.org/D63906 llvm-svn: 364609 --- compiler-rt/lib/hwasan/hwasan_report.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler-rt/lib/hwasan/hwasan_report.cpp b/compiler-rt/lib/hwasan/hwasan_report.cpp index a57a97174040..35f2a035893f 100644 --- a/compiler-rt/lib/hwasan/hwasan_report.cpp +++ b/compiler-rt/lib/hwasan/hwasan_report.cpp @@ -335,7 +335,7 @@ static void PrintTagsAroundAddr(tag_t *tag_ptr) { tag_t *center_row_beg = reinterpret_cast( RoundDownTo(reinterpret_cast(tag_ptr), row_len)); tag_t *beg_row = center_row_beg - row_len * (num_rows / 2); - tag_t *end_row = center_row_beg + row_len * (num_rows / 2); + tag_t *end_row = center_row_beg + row_len * ((num_rows + 1) / 2); InternalScopedString s(GetPageSizeCached() * 8); for (tag_t *row = beg_row; row < end_row; row += row_len) { s.append("%s", row == center_row_beg ? "=>" : " ");