From c00e5532994f03f8bc61f147259bc5d353a0d2c9 Mon Sep 17 00:00:00 2001 From: poma Date: Sun, 3 Nov 2019 11:25:58 +0300 Subject: [PATCH] check return data length for tokens --- contracts/ERC20Mixer.sol | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contracts/ERC20Mixer.sol b/contracts/ERC20Mixer.sol index 8a7c7d7..2e99231 100644 --- a/contracts/ERC20Mixer.sol +++ b/contracts/ERC20Mixer.sol @@ -57,6 +57,7 @@ contract ERC20Mixer is Mixer { // if contract returns some data let's make sure that is `true` according to standard if (data.length > 0) { + require(data.length == 32, "data length should be either 0 or 32 bytes"); assembly { success := mload(add(data, 0x20)) } @@ -78,6 +79,7 @@ contract ERC20Mixer is Mixer { // if contract returns some data let's make sure that is `true` according to standard if (data.length > 0) { + require(data.length == 32, "data length should be either 0 or 32 bytes"); assembly { success := mload(add(data, 0x20)) }