"Shawn Walker" <swalker at opensolaris.org> wrote:
> This isn't about "right or wrong" behaviour. It is about application
> availability.
>
> While I personally would never rely on NULL being accepted by printf,
> I cannot fault others for relying on platform-specific behaviour.
>
> The reality is that most "POSIX/*NIX" applications today are written
> for GNU/Linux systems, not Solaris.
You are missinterpreting things. Linux is not POSIX.
If you develop on Solaris, your software is much more portable than it would be
if you do the same on Linux. Guess why I develop my software on Solaris.
The printf() NULL string behavior is one of the least significant problems in
this area.
The _real_ problems from the fact that people develop on Linux cannot be
"fixed"
without giving up security on Solaris. Note that for about one year around
2004, there was a Linux kernel bug that allowed non-provileged software to send
any SCSI command to any device (*). As a result, a lot of GUI suftware (i.e. in
the
GNOME area) is now "based" on that bug. This software does not only try to print
NULL strings, but it has an inappropriate structure.
The only way to deal with the real problem is to work on a change in the OS
base foe developers. Explain them that they get much better debugging tools and
explain them what problems a Linux based environment introduces.
*) Instead of fixing this bug by denying this kind of usage, Torvalds
introduced an incompatible kernel interface change that caused e.g. cdrecord to
fail.
J?rg
--
EMail:joerg at schily.isdn.cs.tu-berlin.de (home) J?rg Schilling D-13353 Berlin
js at cs.tu-berlin.de (uni)
schilling at fokus.fraunhofer.de (work) Blog:
http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily