Does putting p.executed = true
after p.recipient.call()
make this vulnerable to recursive calls?
function executeProposal(uint proposalNumber, bytes transactionBytecode) returns (int result) {
Proposal p = proposals[proposalNumber];
if (p.executed) throw;
p.recipient.call.value(p.amount)(transactionBytecode);
p.executed = true;
From ethereum.org/dao