Null pointer dereference and side effects

Eljay Love-Jensen eljay@adobe.com
Mon Jul 19 12:37:00 GMT 2004


Hi Archie,

Try this...

     #include <stdlib.h>

     int dummy;

     int
     main(int ac, char **av)
     {
	    int *r1;
	    int *r2;

	    r1 = ∾
	    *r1 = 0;
	    r2 = (void *)0;	/* or (void *)1, etc. */
                dummy = *r1; /* k-boom */
	    if (*r1 != *r2)
		    return 1;
	    return 1;
     }

--or this--

     #include <stdlib.h>

     int
     main(int ac, char **av)
     {
	    volatile int *r1;
	    volatile int *r2;

	    r1 = ∾
	    *r1 = 0;
	    r2 = (void *)0;	/* or (void *)1, etc. */
	    if (*r1 != *r2)
		    return 1;
	    return 1;
     }


--Eljay



More information about the Gcc-help mailing list