On 18.12.2013 10:20:21, Anatoly A. Kazantsev wrote: > On Wed, 18 Dec 2013 09:17:47 +0100 > Marin Ramesa <m...@hi.t-com.hr> wrote: > > > ... > > Negation of an > > OR expression is an AND expression. > > ... > > Maybe I did't get you correctly, but isn't !(a || b) == !a && !b ?
Yes. > And evaluation of the second condition doesn't happen when entry = > IE_NULL Compiler needs to check both !a and !b. In order to evaluate !b it must evaluate b. So when the code path is that when entry is a null pointer, the evaluation of b results in a dereference of a null pointer.