Skip to content
This repository has been archived by the owner on Oct 28, 2021. It is now read-only.

Bugs in the LLL code snippets of the testing suite #3387

Closed
axic opened this issue Nov 1, 2016 · 1 comment
Closed

Bugs in the LLL code snippets of the testing suite #3387

axic opened this issue Nov 1, 2016 · 1 comment
Labels

Comments

@axic
Copy link
Member

axic commented Nov 1, 2016

This is a follow up of #3356.

I've run the code snippets through a stricter lllc (see ethereum/solidity#1313) and it has found a lot of potential buggy lll snippets: https://gist.github.com/axic/c245b7d7f1a3896282de77e69d2f568d

Issues:

  • unterminated code (missing ) or })
  • using missing instructions (SAWP1 vs. SWAP1, potentially archaic ones: PREVHASH, POST, CALLSTATELESS, CALLVALUE)
  • using asm without ()

Some of the bugs might be false positive (such as MSIZE and the missing i variable, have to investigate).

@axic
Copy link
Member Author

axic commented Nov 1, 2016

After review:

  • I assume POST is an old name for CALL?
  • CALLSTATELESS is an old name for CALLCODE?
  • PREVHASH was replaced by 1 NUMBER SUB BLOCKHASH?
  • CALLVALUE and MSIZE are methods and must be called or wrapper in an assembly block:
    (CALLVALUE) or (asm CALLVALUE).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant