Fix a segfault in dffinit when the value has too few bits

The code was already trying to add the required number of bits, but
fell one short of the mark.
This commit is contained in:
Marcus Comstedt 2015-11-08 19:16:56 +01:00
parent 1ec6429bad
commit 8c2bdef36d
1 changed files with 1 additions and 1 deletions

View File

@ -100,7 +100,7 @@ struct DffinitPass : public Pass {
for (int i = 0; i < GetSize(sig); i++) { for (int i = 0; i < GetSize(sig); i++) {
if (init_bits.count(sig[i]) == 0) if (init_bits.count(sig[i]) == 0)
continue; continue;
while (GetSize(value.bits) < i) while (GetSize(value.bits) <= i)
value.bits.push_back(State::S0); value.bits.push_back(State::S0);
value.bits[i] = init_bits.at(sig[i]); value.bits[i] = init_bits.at(sig[i]);
cleanup_bits.insert(sig[i]); cleanup_bits.insert(sig[i]);