Skip to content

Commit f484ad3

Browse files
committed
avoid out-of-bound reading the delta list
1 parent a634fe0 commit f484ad3

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

gpu-simulator/trace-parser/trace_parser.cc

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,12 +209,10 @@ bool inst_trace_t::parse_from_string(std::string trace, unsigned trace_version,
209209
std::vector<long long> deltas;
210210
// read addresses as base address and deltas
211211
ss >> std::hex >> base_address;
212-
for (int s = 0; s < WARP_SIZE; s++) {
213-
if (mask_bits.test(s)) {
214-
long long delta = 0;
215-
ss >> std::dec >> delta;
216-
deltas.push_back(delta);
217-
}
212+
for (int s = 1; s < mask_bits.count(); s++) {
213+
long long delta = 0;
214+
ss >> std::dec >> delta;
215+
deltas.push_back(delta);
218216
}
219217
memadd_info->base_delta_decompress(base_address, deltas, mask_bits);
220218
}
@@ -490,4 +488,4 @@ PipeReader &PipeReader::operator=(PipeReader &&other) noexcept {
490488
other.command = {};
491489
}
492490
return *this;
493-
}
491+
}

0 commit comments

Comments
 (0)