remove all checks for short address attack (fixes #261)
This commit is contained in:
@ -14,22 +14,12 @@ contract BasicToken is ERC20Basic {
|
|||||||
|
|
||||||
mapping(address => uint256) balances;
|
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
|
* @dev transfer token for a specified address
|
||||||
* @param _to The address to transfer to.
|
* @param _to The address to transfer to.
|
||||||
* @param _value The amount to be transferred.
|
* @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[msg.sender] = balances[msg.sender].sub(_value);
|
||||||
balances[_to] = balances[_to].add(_value);
|
balances[_to] = balances[_to].add(_value);
|
||||||
Transfer(msg.sender, _to, _value);
|
Transfer(msg.sender, _to, _value);
|
||||||
|
|||||||
@ -23,7 +23,7 @@ contract StandardToken is BasicToken, ERC20 {
|
|||||||
* @param _to address The address which you want to transfer to
|
* @param _to address The address which you want to transfer to
|
||||||
* @param _value uint256 the amout of tokens to be transfered
|
* @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];
|
var _allowance = allowed[_from][msg.sender];
|
||||||
|
|
||||||
// Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
|
// Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
|
||||||
|
|||||||
Reference in New Issue
Block a user