From c03d2bcb5126032f0ced9cd483587116b06b0bcf Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 14 Sep 2018 15:57:02 +0200 Subject: [PATCH] signer: check calldata length even if no ABI signature is present --- signer/core/validation.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/signer/core/validation.go b/signer/core/validation.go index 969b948876..f8b7f1c2ca 100644 --- a/signer/core/validation.go +++ b/signer/core/validation.go @@ -63,6 +63,9 @@ func (v *Validator) validateCallData(msgs *ValidationMessages, data []byte, meth msgs.warn("Tx contains data which is not valid ABI") return } + if arglen := len(data) - 4; arglen%32 != 0 { + msgs.warn(fmt.Sprintf("Not ABI-encoded data; length should be a multiple of 32 (was %d)", arglen)) + } var ( info *decodedCallData err error