File tree Expand file tree Collapse file tree 1 file changed +10
-13
lines changed Expand file tree Collapse file tree 1 file changed +10
-13
lines changed Original file line number Diff line number Diff line change @@ -525,22 +525,19 @@ BaseReport::Shadow BaseReport::CopyShadow() const {
525
525
526
526
result.addr = GetPrintTagStart (untagged_addr + mismatch_offset);
527
527
uptr tag_addr = result.addr ;
528
- for (tag_t &tag_copy : result.tags ) {
529
- if (MemIsShadow (tag_addr))
530
- tag_copy = *reinterpret_cast <tag_t *>(tag_addr);
531
- ++tag_addr;
532
- }
533
-
534
- uptr short_tags_addr = result.addr + kShortDumpOffset ;
535
- for (tag_t &tag_copy : result.short_tags ) {
536
- tag_t tag = GetTagCopy (short_tags_addr);
537
- uptr granule_addr = ShadowToMem (short_tags_addr);
538
- if (1 <= tag && tag <= kShadowAlignment &&
528
+ uptr short_end = kShortDumpOffset + ARRAY_SIZE (shadow.short_tags );
529
+ for (uptr i = 0 ; i < ARRAY_SIZE (result.tags ); ++i, ++tag_addr) {
530
+ if (!MemIsShadow (tag_addr))
531
+ continue ;
532
+ result.tags [i] = *reinterpret_cast <tag_t *>(tag_addr);
533
+ if (i < kShortDumpOffset || i >= short_end)
534
+ continue ;
535
+ uptr granule_addr = ShadowToMem (tag_addr);
536
+ if (1 <= result.tags [i] && result.tags [i] <= kShadowAlignment &&
539
537
IsAccessibleMemoryRange (granule_addr, kShadowAlignment )) {
540
- tag_copy =
538
+ result. short_tags [i - kShortDumpOffset ] =
541
539
*reinterpret_cast <tag_t *>(granule_addr + kShadowAlignment - 1 );
542
540
}
543
- ++short_tags_addr;
544
541
}
545
542
return result;
546
543
}
You can’t perform that action at this time.
0 commit comments