I'm currently having some problems trying to envision how OP_IF, OP_ELSE and OP_ENDIF would be processed in Script. Does anyone have some examples, documentation or unit tests relating to their functionality?
I understand that when the application is processing the script and encounters OP_IF, it pops the top item from the stack, check whether it evaluated to true, and then processes the script until OP_ELSE (in case it is true), then skips everything between OP_ELSE to OP_ENDIF. But without actually evaluating what is between those two operations, some hex that would represent a number accidentally evaluate to OP_ENDIF and finish the operation early. How is this problem solved?