From 50fc899afe55f16eff481d6060d0ca6eca3a1ca1 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 12 Apr 2022 12:49:13 -0400 Subject: [PATCH] Perform additional check in ProcessProposal for special txs generated by vote extensions Signed-off-by: Thane Thomson --- test/e2e/app/app.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/e2e/app/app.go b/test/e2e/app/app.go index 8965b6f7f..ec915aab9 100644 --- a/test/e2e/app/app.go +++ b/test/e2e/app/app.go @@ -379,10 +379,19 @@ func (app *Application) PrepareProposal(req abci.RequestPrepareProposal) abci.Re // It accepts any proposal that does not contain a malformed transaction. func (app *Application) ProcessProposal(req abci.RequestProcessProposal) abci.ResponseProcessProposal { for _, tx := range req.Txs { - _, _, err := parseTx(tx) + k, v, err := parseTx(tx) if err != nil { + app.logger.Error("malformed transaction in ProcessProposal", "tx", tx, "err", err) return abci.ResponseProcessProposal{Status: abci.ResponseProcessProposal_REJECT} } + // Additional check for vote extension-related txs + if k == voteExtensionKey { + _, err := strconv.Atoi(v) + if err != nil { + app.logger.Error("malformed vote extension transaction", k, v, "err", err) + return abci.ResponseProcessProposal{Status: abci.ResponseProcessProposal_REJECT} + } + } } return abci.ResponseProcessProposal{Status: abci.ResponseProcessProposal_ACCEPT} }