comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: not null
Date: Thu, 05 Mar 2009 15:24:38 +0100
Date: 2009-03-05T15:24:39+01:00	[thread overview]
Message-ID: <49afe0a7$0$31878$9b4e6d93@newsspool3.arcor-online.net> (raw)
In-Reply-To: <faf30fd2-2aa8-43e6-8159-9f1b75dcd339@n33g2000pri.googlegroups.com>

Adam Beneschan schrieb:
> On Mar 4, 7:22 am, Georg Bauhaus <rm.dash-bauh...@futureapps.de>
> wrote:
> 
>> The overall impact of refs not "attached" (to use
>> an Eiffel term; not null is spreading through languages
>> it seems; C++, too?) is a financial disaster, with
>> possibly one exception: there is money in a business
>> selling software components whose purpose is to guard
>> the holes kept open by operating system sellers.
>>
>> (Antivirus etc.)
> 
> Is there any basis for this last comment?  I've seen lots of reports
> of vulnerabilities caused by buffer overflows combined with lack of
> range checking, and by double-deallocation errors (deallocating the
> same chunk of memory twice and making hash of your heap structures),
> but I don't recall seeing any caused by null references.  Errors
> involving null references seem a lot more likely just to make programs
> die unexpectedly, than to allow arbitrary code execution or the like.

You have caught me in an argument over CeBIT discussions
concerning the security of OSs and server software,
so I might have been carried away.

OTOH, the very presence of null values seems close
to the causes of buffer overflow, of accessing/overwriting
data off bounds, etc. This is simply because NULL
(similarly, '\0') is thought of as a regular thing,
for the programmer to handle routinely with any
sequential piece of data.
strcat(3) and relatives, as its counterparts at the
end of arrays of structures, rely on null values.
You need the dangerous thing to get anything done.
Caveat emptor.




  reply	other threads:[~2009-03-05 14:24 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-04 14:44 not null Georg Bauhaus
2009-03-04 14:56 ` Hyman Rosen
2009-03-04 15:22   ` Georg Bauhaus
2009-03-04 16:16     ` Adam Beneschan
2009-03-05 14:24       ` Georg Bauhaus [this message]
2009-03-05 16:07         ` Adam Beneschan
2009-03-06  1:07       ` Hibou57 (Yannick Duchêne)
2009-03-04 16:09   ` Adam Beneschan
2009-03-04 20:38     ` Dmitry A. Kazakov
2009-03-05  1:54       ` Adam Beneschan
2009-03-05  8:42         ` Dmitry A. Kazakov
2009-03-05  1:32     ` Brian Drummond
2009-03-05  1:47       ` Adam Beneschan
2009-03-05 11:32         ` Brian Drummond
2009-03-05 15:06           ` Dmitry A. Kazakov
2009-03-05 13:57         ` Georg Bauhaus
2009-03-05 19:53       ` Jack Mitchell
2009-03-05  8:49     ` Jacob Sparre Andersen
2009-03-05 16:10       ` Adam Beneschan
2009-03-05 17:20         ` Jacob Sparre Andersen
2009-03-06  1:04     ` Hibou57 (Yannick Duchêne)
2009-03-06 12:01     ` Harald Korneliussen
2009-03-06 12:43       ` Jacob Sparre Andersen
2009-03-06 13:05         ` Harald Korneliussen
2009-03-06 15:21       ` Dmitry A. Kazakov
2009-03-06 16:59         ` Harald Korneliussen
2009-03-06 17:48           ` Dmitry A. Kazakov
2009-03-06 20:05             ` Georg Bauhaus
2009-03-06 21:31               ` Dmitry A. Kazakov
2009-03-04 16:19   ` Robert A Duff
2009-03-04 20:39 ` Colin Paul Gloster
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox