I analyzed this token contract on open-zepplin here : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/token/ERC20/StandardToken.sol
I wonder why there is not a statement in approve
function which should check whether owner holds those tokens.