aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Comstedt <marcus@mc.pp.se>2015-11-08 19:16:56 +0100
committerMarcus Comstedt <marcus@mc.pp.se>2015-11-08 19:16:56 +0100
commit8c2bdef36dbdb5b830757a4f74a7600b45828698 (patch)
tree24ff88378d93bba90017406845c6e91010cbb2de
parent1ec6429bad4d793b389ee594b1cb2575bf73ddaf (diff)
downloadyosys-8c2bdef36dbdb5b830757a4f74a7600b45828698.tar.gz
yosys-8c2bdef36dbdb5b830757a4f74a7600b45828698.tar.bz2
yosys-8c2bdef36dbdb5b830757a4f74a7600b45828698.zip
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.
-rw-r--r--passes/techmap/dffinit.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/passes/techmap/dffinit.cc b/passes/techmap/dffinit.cc
index 6a80f043b..e0273f439 100644
--- a/passes/techmap/dffinit.cc
+++ b/passes/techmap/dffinit.cc
@@ -100,7 +100,7 @@ struct DffinitPass : public Pass {
for (int i = 0; i < GetSize(sig); i++) {
if (init_bits.count(sig[i]) == 0)
continue;
- while (GetSize(value.bits) < i)
+ while (GetSize(value.bits) <= i)
value.bits.push_back(State::S0);
value.bits[i] = init_bits.at(sig[i]);
cleanup_bits.insert(sig[i]);