lkml.org 
[lkml]   [2005]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Do not misuse Coverity please
    On Wed, Mar 30, 2005 at 10:29:43AM -0800, Shankar Unni wrote:
    > Jean Delvare wrote:
    >
    > > v = p->field;
    > > if (!p) return;
    > >
    > >can be seen as equivalent to
    > >
    > > if (!p) return;
    > > v = p->field;
    >
    > Heck, no.
    >
    > You're missing the side-effect of a null pointer dereference crash (for
    > p->field) (even though v is unused before the return). The optimizer is
    > not allowed to make exceptions go away as a result of the hoisting.

    Actually it is. Dereferencing a null pointer is either undefined or
    implementation-dependant in the standard (don't remember which), and
    as such the compiler can do whatever it wants, be it starting nethack
    or not doing the dereference in the first place.

    The principle of least surprise makes doing such an "optimisation" not
    so smart in practice. A compiler capable of detecting that situation
    would be better off spitting a warning in red blinking letter.

    OG.

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-04-06 13:31    [W:0.022 / U:90.068 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site