"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

Reply via email to