Suppose we have a simple "if" expression, for example:
a=2;
b=3;
if (a==4 AND b==3)
{
do some code here....
}
Does AFL checks if "b==3", AFTER it found out that "a==4" is wrong?
Suppose we have a simple "if" expression, for example:
a=2;
b=3;
if (a==4 AND b==3)
{
do some code here....
}
Does AFL checks if "b==3", AFTER it found out that "a==4" is wrong?
The if-else statement works on scalars and uses shortcut evaluation which means that b == 3
is NOT evaluated if a != 4
in the above example.
Keep in mind however that IIf function (which despite name similarity is different) works on arrays and as such can't use shortcut evaluation because array expressions are different on bar-by-bar basis