Hello is it possible to execute this "multiplicate" function? Assume I put 1 ETH to the contract as an owner, but when a hacker sends 2 ETH to the multiplicate, this.balance becomes 3 at the beginning of the function and then it's always greater than the msg.value. I wonder if I am missing something.
contract Multiplicator
{
address public Owner = msg.sender;
function() payable{}
function withdraw() payable public
{
require(msg.sender == Owner);
Owner.transfer(this.balance);
}
function multiplicate(address adr) payable
{
if(msg.value >= this.balance)
{
adr.transfer(this.balance+msg.value);
}
}
}