From e33d9bb41be136f12bc734aef1aa6fffbf54fa40 Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Mon, 26 Jun 2017 15:03:58 -0300 Subject: [PATCH] remove all checks for short address attack (fixes #261) --- contracts/token/BasicToken.sol | 12 +----------- contracts/token/StandardToken.sol | 2 +- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/contracts/token/BasicToken.sol b/contracts/token/BasicToken.sol index bb6553bf0..1f347a38a 100644 --- a/contracts/token/BasicToken.sol +++ b/contracts/token/BasicToken.sol @@ -14,22 +14,12 @@ contract BasicToken is ERC20Basic { mapping(address => uint256) balances; - /** - * @dev Fix for the ERC20 short address attack. - */ - modifier onlyPayloadSize(uint256 size) { - if(msg.data.length < size + 4) { - throw; - } - _; - } - /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ - function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) { + function transfer(address _to, uint256 _value) { balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); diff --git a/contracts/token/StandardToken.sol b/contracts/token/StandardToken.sol index d543c5d6a..67e5d3f13 100644 --- a/contracts/token/StandardToken.sol +++ b/contracts/token/StandardToken.sol @@ -23,7 +23,7 @@ contract StandardToken is BasicToken, ERC20 { * @param _to address The address which you want to transfer to * @param _value uint256 the amout of tokens to be transfered */ - function transferFrom(address _from, address _to, uint256 _value) onlyPayloadSize(3 * 32) { + function transferFrom(address _from, address _to, uint256 _value) { var _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met