eth-sri / securify

[DEPRECATED] Security Scanner for Ethereum Smart Contracts
Apache License 2.0
215 stars 50 forks source link

StackOverflowError in contracts with a lot of statements #51

Closed hiqua closed 2 years ago

hiqua commented 5 years ago

See also description at https://github.com/eth-sri/securify#known-limitations

Steps to reproduce

With lots_of_statements.sol:

pragma solidity ^0.4.24;

interface ERC20 {
    function balanceOf(address _owner) external constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) external;
}

contract C {
    ERC20 t;

    function add(address _target) internal {
        t.transfer(_target, 0);
    }

    function f() public {
        add(0x0000000000000000000000000000000000000000);
        add(0x0000000000000000000000000000000000000001);
        add(0x0000000000000000000000000000000000000002);
        add(0x0000000000000000000000000000000000000003);
        add(0x0000000000000000000000000000000000000004);
        add(0x0000000000000000000000000000000000000005);
        add(0x0000000000000000000000000000000000000006);
        add(0x0000000000000000000000000000000000000007);
        add(0x0000000000000000000000000000000000000008);
        add(0x0000000000000000000000000000000000000009);
        add(0x0000000000000000000000000000000000000010);
        add(0x0000000000000000000000000000000000000011);
        add(0x0000000000000000000000000000000000000012);
        add(0x0000000000000000000000000000000000000013);
        add(0x0000000000000000000000000000000000000014);
        add(0x0000000000000000000000000000000000000015);
        add(0x0000000000000000000000000000000000000016);
        add(0x0000000000000000000000000000000000000017);
        add(0x0000000000000000000000000000000000000018);
        add(0x0000000000000000000000000000000000000019);
        add(0x0000000000000000000000000000000000000020);
        add(0x0000000000000000000000000000000000000021);
        add(0x0000000000000000000000000000000000000022);
        add(0x0000000000000000000000000000000000000023);
        add(0x0000000000000000000000000000000000000024);
        add(0x0000000000000000000000000000000000000025);
        add(0x0000000000000000000000000000000000000026);
        add(0x0000000000000000000000000000000000000027);
        add(0x0000000000000000000000000000000000000028);
        add(0x0000000000000000000000000000000000000029);
        add(0x0000000000000000000000000000000000000030);
        add(0x0000000000000000000000000000000000000031);
        add(0x0000000000000000000000000000000000000032);
        add(0x0000000000000000000000000000000000000033);
        add(0x0000000000000000000000000000000000000034);
        add(0x0000000000000000000000000000000000000035);
        add(0x0000000000000000000000000000000000000036);
        add(0x0000000000000000000000000000000000000037);
        add(0x0000000000000000000000000000000000000038);
        add(0x0000000000000000000000000000000000000039);
        add(0x0000000000000000000000000000000000000040);
        add(0x0000000000000000000000000000000000000041);
        add(0x0000000000000000000000000000000000000042);
        add(0x0000000000000000000000000000000000000043);
        add(0x0000000000000000000000000000000000000044);
        add(0x0000000000000000000000000000000000000045);
        add(0x0000000000000000000000000000000000000046);
        add(0x0000000000000000000000000000000000000047);
        add(0x0000000000000000000000000000000000000048);
        add(0x0000000000000000000000000000000000000049);
        add(0x0000000000000000000000000000000000000050);
        add(0x0000000000000000000000000000000000000051);
        add(0x0000000000000000000000000000000000000052);
        add(0x0000000000000000000000000000000000000053);
        add(0x0000000000000000000000000000000000000054);
        add(0x0000000000000000000000000000000000000055);
        add(0x0000000000000000000000000000000000000056);
        add(0x0000000000000000000000000000000000000057);
        add(0x0000000000000000000000000000000000000058);
        add(0x0000000000000000000000000000000000000059);
        add(0x0000000000000000000000000000000000000060);
        add(0x0000000000000000000000000000000000000061);
        add(0x0000000000000000000000000000000000000062);
        add(0x0000000000000000000000000000000000000063);
        add(0x0000000000000000000000000000000000000064);
        add(0x0000000000000000000000000000000000000065);
        add(0x0000000000000000000000000000000000000066);
        add(0x0000000000000000000000000000000000000067);
        add(0x0000000000000000000000000000000000000068);
        add(0x0000000000000000000000000000000000000069);
        add(0x0000000000000000000000000000000000000070);
        add(0x0000000000000000000000000000000000000071);
        add(0x0000000000000000000000000000000000000072);
        add(0x0000000000000000000000000000000000000073);
        add(0x0000000000000000000000000000000000000074);
        add(0x0000000000000000000000000000000000000075);
        add(0x0000000000000000000000000000000000000076);
        add(0x0000000000000000000000000000000000000077);
        add(0x0000000000000000000000000000000000000078);
        add(0x0000000000000000000000000000000000000079);
        add(0x0000000000000000000000000000000000000080);
        add(0x0000000000000000000000000000000000000081);
        add(0x0000000000000000000000000000000000000082);
        add(0x0000000000000000000000000000000000000083);
        add(0x0000000000000000000000000000000000000084);
        add(0x0000000000000000000000000000000000000085);
        add(0x0000000000000000000000000000000000000086);
        add(0x0000000000000000000000000000000000000087);
        add(0x0000000000000000000000000000000000000088);
        add(0x0000000000000000000000000000000000000089);
        add(0x0000000000000000000000000000000000000090);
        add(0x0000000000000000000000000000000000000091);
        add(0x0000000000000000000000000000000000000092);
        add(0x0000000000000000000000000000000000000093);
        add(0x0000000000000000000000000000000000000094);
        add(0x0000000000000000000000000000000000000095);
        add(0x0000000000000000000000000000000000000096);
        add(0x0000000000000000000000000000000000000097);
        add(0x0000000000000000000000000000000000000098);
        add(0x0000000000000000000000000000000000000099);
        add(0x0000000000000000000000000000000000000100);
        add(0x0000000000000000000000000000000000000101);
        add(0x0000000000000000000000000000000000000102);
        add(0x0000000000000000000000000000000000000103);
        add(0x0000000000000000000000000000000000000104);
        add(0x0000000000000000000000000000000000000105);
        add(0x0000000000000000000000000000000000000106);
        add(0x0000000000000000000000000000000000000107);
        add(0x0000000000000000000000000000000000000108);
        add(0x0000000000000000000000000000000000000109);
        add(0x0000000000000000000000000000000000000110);
        add(0x0000000000000000000000000000000000000111);
        add(0x0000000000000000000000000000000000000112);
        add(0x0000000000000000000000000000000000000113);
        add(0x0000000000000000000000000000000000000114);
        add(0x0000000000000000000000000000000000000115);
        add(0x0000000000000000000000000000000000000116);
        add(0x0000000000000000000000000000000000000117);
        add(0x0000000000000000000000000000000000000118);
        add(0x0000000000000000000000000000000000000119);
        add(0x0000000000000000000000000000000000000120);
        add(0x0000000000000000000000000000000000000121);
        add(0x0000000000000000000000000000000000000122);
        add(0x0000000000000000000000000000000000000123);
        add(0x0000000000000000000000000000000000000124);
        add(0x0000000000000000000000000000000000000125);
        add(0x0000000000000000000000000000000000000126);
        add(0x0000000000000000000000000000000000000127);
        add(0x0000000000000000000000000000000000000128);
        add(0x0000000000000000000000000000000000000129);
        add(0x0000000000000000000000000000000000000130);
        add(0x0000000000000000000000000000000000000131);
        add(0x0000000000000000000000000000000000000132);
        add(0x0000000000000000000000000000000000000133);
        add(0x0000000000000000000000000000000000000134);
        add(0x0000000000000000000000000000000000000135);
        add(0x0000000000000000000000000000000000000136);
        add(0x0000000000000000000000000000000000000137);
        add(0x0000000000000000000000000000000000000138);
        add(0x0000000000000000000000000000000000000139);
        add(0x0000000000000000000000000000000000000140);
        add(0x0000000000000000000000000000000000000141);
        add(0x0000000000000000000000000000000000000142);
        add(0x0000000000000000000000000000000000000143);
        add(0x0000000000000000000000000000000000000144);
        add(0x0000000000000000000000000000000000000145);
        add(0x0000000000000000000000000000000000000146);
        add(0x0000000000000000000000000000000000000147);
        add(0x0000000000000000000000000000000000000148);
        add(0x0000000000000000000000000000000000000149);
        add(0x0000000000000000000000000000000000000150);
        add(0x0000000000000000000000000000000000000151);
        add(0x0000000000000000000000000000000000000152);
        add(0x0000000000000000000000000000000000000153);
        add(0x0000000000000000000000000000000000000154);
        add(0x0000000000000000000000000000000000000155);
        add(0x0000000000000000000000000000000000000156);
        add(0x0000000000000000000000000000000000000157);
        add(0x0000000000000000000000000000000000000158);
        add(0x0000000000000000000000000000000000000159);
        add(0x0000000000000000000000000000000000000160);
        add(0x0000000000000000000000000000000000000161);
        add(0x0000000000000000000000000000000000000162);
        add(0x0000000000000000000000000000000000000163);
        add(0x0000000000000000000000000000000000000164);
        add(0x0000000000000000000000000000000000000165);
        add(0x0000000000000000000000000000000000000166);
        add(0x0000000000000000000000000000000000000167);
        add(0x0000000000000000000000000000000000000168);
        add(0x0000000000000000000000000000000000000169);
        add(0x0000000000000000000000000000000000000170);
        add(0x0000000000000000000000000000000000000171);
        add(0x0000000000000000000000000000000000000172);
        add(0x0000000000000000000000000000000000000173);
        add(0x0000000000000000000000000000000000000174);
        add(0x0000000000000000000000000000000000000175);
        add(0x0000000000000000000000000000000000000176);
        add(0x0000000000000000000000000000000000000177);
        add(0x0000000000000000000000000000000000000178);
        add(0x0000000000000000000000000000000000000179);
        add(0x0000000000000000000000000000000000000180);
        add(0x0000000000000000000000000000000000000181);
        add(0x0000000000000000000000000000000000000182);
        add(0x0000000000000000000000000000000000000183);
        add(0x0000000000000000000000000000000000000184);
        add(0x0000000000000000000000000000000000000185);
        add(0x0000000000000000000000000000000000000186);
        add(0x0000000000000000000000000000000000000187);
        add(0x0000000000000000000000000000000000000188);
        add(0x0000000000000000000000000000000000000189);
        add(0x0000000000000000000000000000000000000190);
        add(0x0000000000000000000000000000000000000191);
        add(0x0000000000000000000000000000000000000192);
        add(0x0000000000000000000000000000000000000193);
        add(0x0000000000000000000000000000000000000194);
        add(0x0000000000000000000000000000000000000195);
        add(0x0000000000000000000000000000000000000196);
        add(0x0000000000000000000000000000000000000197);
        add(0x0000000000000000000000000000000000000198);
        add(0x0000000000000000000000000000000000000199);
        add(0x0000000000000000000000000000000000000200);
        add(0x0000000000000000000000000000000000000201);
        add(0x0000000000000000000000000000000000000202);
        add(0x0000000000000000000000000000000000000203);
        add(0x0000000000000000000000000000000000000204);
        add(0x0000000000000000000000000000000000000205);
        add(0x0000000000000000000000000000000000000206);
        add(0x0000000000000000000000000000000000000207);
        add(0x0000000000000000000000000000000000000208);
        add(0x0000000000000000000000000000000000000209);
        add(0x0000000000000000000000000000000000000210);
        add(0x0000000000000000000000000000000000000211);
        add(0x0000000000000000000000000000000000000212);
        add(0x0000000000000000000000000000000000000213);
        add(0x0000000000000000000000000000000000000214);
        add(0x0000000000000000000000000000000000000215);
        add(0x0000000000000000000000000000000000000216);
        add(0x0000000000000000000000000000000000000217);
        add(0x0000000000000000000000000000000000000218);
        add(0x0000000000000000000000000000000000000219);
        add(0x0000000000000000000000000000000000000220);
        add(0x0000000000000000000000000000000000000221);
        add(0x0000000000000000000000000000000000000222);
        add(0x0000000000000000000000000000000000000223);
        add(0x0000000000000000000000000000000000000224);
        add(0x0000000000000000000000000000000000000225);
        add(0x0000000000000000000000000000000000000226);
        add(0x0000000000000000000000000000000000000227);
        add(0x0000000000000000000000000000000000000228);
        add(0x0000000000000000000000000000000000000229);
        add(0x0000000000000000000000000000000000000230);
        add(0x0000000000000000000000000000000000000231);
        add(0x0000000000000000000000000000000000000232);
        add(0x0000000000000000000000000000000000000233);
        add(0x0000000000000000000000000000000000000234);
        add(0x0000000000000000000000000000000000000235);
        add(0x0000000000000000000000000000000000000236);
        add(0x0000000000000000000000000000000000000237);
        add(0x0000000000000000000000000000000000000238);
        add(0x0000000000000000000000000000000000000239);
        add(0x0000000000000000000000000000000000000240);
        add(0x0000000000000000000000000000000000000241);
        add(0x0000000000000000000000000000000000000242);
        add(0x0000000000000000000000000000000000000243);
        add(0x0000000000000000000000000000000000000244);
        add(0x0000000000000000000000000000000000000245);
        add(0x0000000000000000000000000000000000000246);
        add(0x0000000000000000000000000000000000000247);
        add(0x0000000000000000000000000000000000000248);
        add(0x0000000000000000000000000000000000000249);
        add(0x0000000000000000000000000000000000000250);
        add(0x0000000000000000000000000000000000000251);
        add(0x0000000000000000000000000000000000000252);
        add(0x0000000000000000000000000000000000000253);
        add(0x0000000000000000000000000000000000000254);
        add(0x0000000000000000000000000000000000000255);
        add(0x0000000000000000000000000000000000000256);
        add(0x0000000000000000000000000000000000000257);
        add(0x0000000000000000000000000000000000000258);
        add(0x0000000000000000000000000000000000000259);
        add(0x0000000000000000000000000000000000000260);
        add(0x0000000000000000000000000000000000000261);
        add(0x0000000000000000000000000000000000000262);
        add(0x0000000000000000000000000000000000000263);
        add(0x0000000000000000000000000000000000000264);
        add(0x0000000000000000000000000000000000000265);
        add(0x0000000000000000000000000000000000000266);
        add(0x0000000000000000000000000000000000000267);
        add(0x0000000000000000000000000000000000000268);
        add(0x0000000000000000000000000000000000000269);
        add(0x0000000000000000000000000000000000000270);
        add(0x0000000000000000000000000000000000000271);
        add(0x0000000000000000000000000000000000000272);
        add(0x0000000000000000000000000000000000000273);
        add(0x0000000000000000000000000000000000000274);
        add(0x0000000000000000000000000000000000000275);
        add(0x0000000000000000000000000000000000000276);
        add(0x0000000000000000000000000000000000000277);
        add(0x0000000000000000000000000000000000000278);
        add(0x0000000000000000000000000000000000000279);
        add(0x0000000000000000000000000000000000000280);
        add(0x0000000000000000000000000000000000000281);
        add(0x0000000000000000000000000000000000000282);
        add(0x0000000000000000000000000000000000000283);
        add(0x0000000000000000000000000000000000000284);
        add(0x0000000000000000000000000000000000000285);
        add(0x0000000000000000000000000000000000000286);
        add(0x0000000000000000000000000000000000000287);
        add(0x0000000000000000000000000000000000000288);
        add(0x0000000000000000000000000000000000000289);
        add(0x0000000000000000000000000000000000000290);
        add(0x0000000000000000000000000000000000000291);
        add(0x0000000000000000000000000000000000000292);
        add(0x0000000000000000000000000000000000000293);
        add(0x0000000000000000000000000000000000000294);
        add(0x0000000000000000000000000000000000000295);
        add(0x0000000000000000000000000000000000000296);
        add(0x0000000000000000000000000000000000000297);
        add(0x0000000000000000000000000000000000000298);
        add(0x0000000000000000000000000000000000000299);
        add(0x0000000000000000000000000000000000000300);
        add(0x0000000000000000000000000000000000000301);
        add(0x0000000000000000000000000000000000000302);
        add(0x0000000000000000000000000000000000000303);
        add(0x0000000000000000000000000000000000000304);
        add(0x0000000000000000000000000000000000000305);
        add(0x0000000000000000000000000000000000000306);
        add(0x0000000000000000000000000000000000000307);
        add(0x0000000000000000000000000000000000000308);
        add(0x0000000000000000000000000000000000000309);
        add(0x0000000000000000000000000000000000000310);
        add(0x0000000000000000000000000000000000000311);
        add(0x0000000000000000000000000000000000000312);
        add(0x0000000000000000000000000000000000000313);
        add(0x0000000000000000000000000000000000000314);
        add(0x0000000000000000000000000000000000000315);
        add(0x0000000000000000000000000000000000000316);
        add(0x0000000000000000000000000000000000000317);
        add(0x0000000000000000000000000000000000000318);
        add(0x0000000000000000000000000000000000000319);
        add(0x0000000000000000000000000000000000000320);
        add(0x0000000000000000000000000000000000000321);
        add(0x0000000000000000000000000000000000000322);
        add(0x0000000000000000000000000000000000000323);
        add(0x0000000000000000000000000000000000000324);
        add(0x0000000000000000000000000000000000000325);
        add(0x0000000000000000000000000000000000000326);
        add(0x0000000000000000000000000000000000000327);
        add(0x0000000000000000000000000000000000000328);
        add(0x0000000000000000000000000000000000000329);
        add(0x0000000000000000000000000000000000000330);
        add(0x0000000000000000000000000000000000000331);
        add(0x0000000000000000000000000000000000000332);
        add(0x0000000000000000000000000000000000000333);
        add(0x0000000000000000000000000000000000000334);
        add(0x0000000000000000000000000000000000000335);
        add(0x0000000000000000000000000000000000000336);
    }
}
java -jar build/libs/securify-0.1.jar -fs stat/lots_of_statements.sol