Commit f309235
committed
Reject a proposal whose proof-of-lock round is malformed
A Prop's round r and proof-of-lock round vr are decoded from the wire and were
passed to the engine unchecked. A Byzantine proposer for round r could sign a
Prop with vr >= r, violating the consensus state machine's prevote-previous
precondition (it asserts vr < proposal round) and aborting the process. Drop a
Prop unless r is a real round and vr is nil or below r.
Found by auditing every malachite assert reachable from the API this node
drives; this and the behind-vote-Invalid crash were the only app-reachable
abort preconditions hyle could violate.1 parent e7d9810 commit f309235
1 file changed
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
467 | 467 | | |
468 | 468 | | |
469 | 469 | | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
470 | 475 | | |
471 | 476 | | |
472 | 477 | | |
| |||
0 commit comments