Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ike Naar <ike@sverige.freeshell.org> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: signal() anomaly |
| Date | 2012-08-02 07:01 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <slrn3vfsk1k9dt.huk.ike@sverige.freeshell.org> (permalink) |
| References | <jv9e9e$bj3$1@speranza.aioe.org> <jv9l8p$1u2$1@blue-new.rahul.net> <jvbu80$pu5$1@speranza.aioe.org> <jvd4p5$f26$1@dont-email.me> |
On 2012-08-02, Stephen Sprunk <stephen@sprunk.org> wrote:
> On 01-Aug-12 13:58, hip cat wrote:
>> My code has a certain pointer that sometimes unexpectedly becomes null.
>> It would be a lot of work to find every place the pointer gets
>> dereferenced and add a null check. So I want to just ignore it by
>> catching the signal.
>
> Sorry, but the correct solution is to check for null before you
> dereference a pointer, even if it is theoretically "impossible" for that
> pointer to be null.
Following this advice would make it impossible to dereference a pointer:
/* assuming pointer is non-volatile */
if (pointer != NULL)
{
/* at this point it's theoretically impossible for pointer
to be null, but let's check anyway */
if (pointer != NULL)
{
/* at this point it's theoretically impossible for pointer
to be null, but let's check anyway */
if (pointer != NULL)
{
/* at this point it's theoretically impossible for pointer
to be null, but let's check anyway */
if (pointer != NULL)
{
/* at this point it's theoretically impossible for pointer
to be null, but let's check anyway */
if (pointer != NULL)
{
/* at this point it's theoretically impossible for pointer
to be null, but let's check anyway */
if (pointer != NULL)
{
/* at this point it's theoretically impossible for pointer
to be null, but let's check anyway */
/* ... etc ad infinitum ... */
do_something_with(*pointer);
/* ... */
}
}
}
}
}
}
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
signal() anomaly hip cat <nospam@nospam.com> - 2012-07-31 20:13 +0000
Re: signal() anomaly Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-31 16:35 -0400
Re: signal() anomaly hip cat <nospam@nospam.com> - 2012-08-01 18:59 +0000
Re: signal() anomaly Nick Bowler <nbowler@draconx.ca> - 2012-08-01 20:14 +0000
Re: signal() anomaly falk@rahul.net (Edward A. Falk) - 2012-07-31 22:12 +0000
Re: signal() anomaly hip cat <nospam@nospam.com> - 2012-08-01 18:58 +0000
Re: signal() anomaly James Kuyper <jameskuyper@verizon.net> - 2012-08-01 15:33 -0400
Re: signal() anomaly hip cat <nospam@nospam.com> - 2012-08-01 20:47 +0000
Re: signal() anomaly Paul <nospam@needed.com> - 2012-08-01 17:34 -0400
Re: signal() anomaly Johann Klammer <klammerj@NOSPAM.a1.net> - 2012-08-02 06:34 +0200
Re: signal() anomaly Paul <nospam@needed.com> - 2012-08-02 07:10 -0400
Re: signal() anomaly Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-01 18:07 -0400
Re: signal() anomaly Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-08-02 00:15 +0100
Re: signal() anomaly Nick Bowler <nbowler@draconx.ca> - 2012-08-02 00:05 +0000
Re: signal() anomaly Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-08-02 02:47 +0100
Re: signal() anomaly James Kuyper <jameskuyper@verizon.net> - 2012-08-01 18:13 -0400
Re: signal() anomaly James Kuyper <jameskuyper@verizon.net> - 2012-08-01 18:14 -0400
Re: signal() anomaly Nobody <nobody@nowhere.com> - 2012-08-02 12:52 +0100
Re: signal() anomaly Angel <angel+news@spamcop.net> - 2012-08-01 19:41 +0000
Re: signal() anomaly Kenneth Brody <kenbrody@spamcop.net> - 2012-08-01 16:16 -0400
Re: signal() anomaly Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-01 16:33 -0400
Re: signal() anomaly Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-08-02 00:22 +0100
Re: signal() anomaly Stephen Sprunk <stephen@sprunk.org> - 2012-08-02 00:55 -0500
Re: signal() anomaly Ike Naar <ike@sverige.freeshell.org> - 2012-08-02 07:01 +0000
Re: signal() anomaly Öö Tiib <ootiib@hot.ee> - 2012-09-08 20:53 -0700
Re: signal() anomaly Nobody <nobody@nowhere.com> - 2012-08-01 18:06 +0100
Re: signal() anomaly Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 13:44 -0700
Re: signal() anomaly Kleuske <kleuske@nowhere.net> - 2012-08-02 20:52 +0000
csiph-web