Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #123315

Re: High level programming in C

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: High level programming in C
Date 2017-11-22 08:57 -0800
Organization None to speak of
Message-ID <ln4lpmtfn8.fsf@kst-u.example.com> (permalink)
References (7 earlier) <c6b928d9-561f-4597-822b-d759ce14ae92@googlegroups.com> <ov1lqk$uoo$1@dont-email.me> <eae4c1eb-d14c-404f-8730-4b5e2e3208e1@googlegroups.com> <lnfu97v3ag.fsf@kst-u.example.com> <1WgRB.8942$5k6.6626@fx25.iad>

Show all headers | View raw


scott@slp53.sl.home (Scott Lurndal) writes:
> Keith Thompson <kst-u@mib.org> writes:
[...]
>>For example, strlen(NULL) has undefined behavior.  The standard
>>*could* have specified the behavior of strlen(NULL) somehow (perhaps
>>returning (size_t)-1 and setting errno, for example), but there's
>>no portable way to check for invalid pointer values other than NULL.
>
> BSD explictly mapped a read-only page of zeros to enable strlen(NULL)
> to return zero.  It simply hid problems which often later bit the
> programmer in the posterior aspect.

I recently mentioned an article I vaguely remember about code
breaking because a new version of a system started trapping on
null pointer dereferences (some code assumed that a null pointer
could be treated as a pointer to an empty string).  I had thought
it was the transition from 68k to SPARC.  Now that you mention BSD,
I think it was probably the transition from SunOS 4 (based on BSD)
to SunOS 5 / Solaris (based on ATT SVR4 Unix).

> We spent many hours in the 90's (X/Open) discussing whether
> the string functions should return an error for NULL (and/or unmapped
> virtual addresses) finally realizing it would only add cost with little
> benefit to the programmer.

There's also the question of how you "return an error".

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-20 12:14 +0100
  Re: High level programming in C David Brown <david.brown@hesbynett.no> - 2017-11-20 12:52 +0100
    Re: High level programming in C Robert Wessel <robertwessel2@yahoo.com> - 2017-11-20 06:07 -0600
      Re: High level programming in C David Brown <david.brown@hesbynett.no> - 2017-11-20 13:38 +0100
        Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-20 14:23 +0100
          Re: High level programming in C David Brown <david.brown@hesbynett.no> - 2017-11-20 16:56 +0100
          Re: High level programming in C Spiros Bousbouras <spibou@gmail.com> - 2017-11-20 17:14 +0000
            Re: High level programming in C Spiros Bousbouras <spibou@gmail.com> - 2017-11-20 17:21 +0000
  Re: High level programming in C "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-11-20 22:45 +0800
  Re: High level programming in C Ian Collins <ian-news@hotmail.com> - 2017-11-21 07:30 +1300
    Re: High level programming in C gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-20 18:32 +0000
      Re: High level programming in C jameskuyper@verizon.net - 2017-11-20 11:05 -0800
        Re: High level programming in C Öö Tiib <ootiib@hot.ee> - 2017-11-20 12:59 -0800
          Re: High level programming in C BGB <cr88192@hotmail.com> - 2017-11-22 10:47 -0600
  Re: High level programming in C fir <profesor.fir@gmail.com> - 2017-11-20 13:17 -0800
    Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-21 03:26 -0800
      Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-21 14:54 +0100
        Re: High level programming in C scott@slp53.sl.home (Scott Lurndal) - 2017-11-21 14:51 +0000
          Re: High level programming in C David Brown <david.brown@hesbynett.no> - 2017-11-21 16:43 +0100
            Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-21 07:58 -0800
              Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-21 17:35 +0100
              Re: High level programming in C Spiros Bousbouras <spibou@gmail.com> - 2017-11-21 16:38 +0000
                Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-21 08:47 -0800
                Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-21 17:55 +0100
                Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-21 09:06 -0800
                Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-21 09:13 -0800
                Re: High level programming in C Keith Thompson <kst-u@mib.org> - 2017-11-21 11:29 -0800
                Re: High level programming in C supercat@casperkitty.com - 2017-11-21 11:59 -0800
                Re: High level programming in C Keith Thompson <kst-u@mib.org> - 2017-11-21 12:52 -0800
                Re: High level programming in C supercat@casperkitty.com - 2017-11-21 13:43 -0800
                Re: High level programming in C Keith Thompson <kst-u@mib.org> - 2017-11-21 14:17 -0800
                Re: High level programming in C supercat@casperkitty.com - 2017-11-21 15:00 -0800
                Re: High level programming in C Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2017-11-21 15:17 -0700
                Re: High level programming in C supercat@casperkitty.com - 2017-11-21 15:09 -0800
                Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-22 00:55 +0100
                Re: High level programming in C "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-21 18:58 -0500
                Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-22 01:19 +0100
                Re: High level programming in C Spiros Bousbouras <spibou@gmail.com> - 2017-11-22 01:47 +0000
                Re: High level programming in C Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2017-11-21 21:48 -0700
                Re: High level programming in C Spiros Bousbouras <spibou@gmail.com> - 2017-11-22 07:36 +0000
                Re: High level programming in C "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-22 12:45 -0500
                Re: High level programming in C supercat@casperkitty.com - 2017-11-22 14:00 -0800
                Re: High level programming in C Keith Thompson <kst-u@mib.org> - 2017-11-22 14:25 -0800
                Re: High level programming in C supercat@casperkitty.com - 2017-11-22 15:14 -0800
                Re: High level programming in C Keith Thompson <kst-u@mib.org> - 2017-11-22 16:08 -0800
                Re: High level programming in C supercat@casperkitty.com - 2017-11-23 16:42 -0800
                Re: High level programming in C bartc <bc@freeuk.com> - 2017-11-24 01:37 +0000
                Re: High level programming in C supercat@casperkitty.com - 2017-11-24 14:33 -0800
                Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-21 16:20 -0800
                Re: High level programming in C David Brown <david.brown@hesbynett.no> - 2017-11-22 10:39 +0100
                Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-23 02:59 -0800
                Re: High level programming in C David Brown <david.brown@hesbynett.no> - 2017-11-23 12:24 +0100
                Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-23 04:49 -0800
                Re: High level programming in C scott@slp53.sl.home (Scott Lurndal) - 2017-11-22 15:42 +0000
                Re: High level programming in C Keith Thompson <kst-u@mib.org> - 2017-11-22 08:57 -0800
                Re: High level programming in C Keith Thompson <kst-u@mib.org> - 2017-11-21 09:19 -0800
                Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-21 09:28 -0800
                Re: High level programming in C supercat@casperkitty.com - 2017-11-21 09:22 -0800
            Re: High level programming in C scott@slp53.sl.home (Scott Lurndal) - 2017-11-21 16:29 +0000
              Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-21 17:43 +0100
          Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-21 17:40 +0100
            Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-21 08:52 -0800
              Re: High level programming in C Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-11-21 09:28 -0800
                Re: High level programming in C Thiago Adams <thiago.adams@gmail.com> - 2017-11-21 09:34 -0800
        Re: High level programming in C Robert Wessel <robertwessel2@yahoo.com> - 2017-11-21 11:37 -0600
          Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-21 20:28 +0100
            Re: High level programming in C Spiros Bousbouras <spibou@gmail.com> - 2017-11-21 19:45 +0000
              Re: High level programming in C "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-11-21 11:51 -0800
              Re: High level programming in C jacobnavia <jacob@jacob.remcomp.fr> - 2017-11-21 20:55 +0100
                Re: High level programming in C Spiros Bousbouras <spibou@gmail.com> - 2017-11-21 20:07 +0000
                Re: High level programming in C Ian Collins <ian-news@hotmail.com> - 2017-11-22 09:13 +1300
                Re: High level programming in C scott@slp53.sl.home (Scott Lurndal) - 2017-11-22 15:38 +0000
                Re: High level programming in C Robert Wessel <robertwessel2@yahoo.com> - 2017-11-21 15:17 -0600
                Re: High level programming in C Ian Collins <ian-news@hotmail.com> - 2017-11-22 10:25 +1300
                Re: High level programming in C Robert Wessel <robertwessel2@yahoo.com> - 2017-11-21 15:41 -0600
                Re: High level programming in C David Brown <david.brown@hesbynett.no> - 2017-11-22 11:01 +0100
              Re: High level programming in C antispam@math.uni.wroc.pl - 2017-11-21 20:11 +0000
              Re: High level programming in C David Brown <david.brown@hesbynett.no> - 2017-11-22 10:58 +0100

csiph-web