Browse Source

Merge pull request #277 from frangio/fix-261

Remove all checks for short address attack
Manuel Aráoz 8 years ago
parent
commit
82ca385725
2 changed files with 2 additions and 12 deletions
  1. 1 11
      contracts/token/BasicToken.sol
  2. 1 1
      contracts/token/StandardToken.sol

+ 1 - 11
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);

+ 1 - 1
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