Previous versions of the POSIX standard made no limitations on strcpy()
but the current standard claims that using strcpy() with overlapping 
buffers gives undefined results.

Most existing programs have been written before the standard was changed
and I know of a lot of places where strcpy() is called with overlapping buffers 
in order to e.g. deal with escaped strings.

It seems that SXCE NV 129 makes use of this change in the standard when in 64 
bit mode. While testing my shell "bsh" on SXCE NV 129, it turned out that the 
64 bit version does not get correct termcap entries from my libxtermcap and it
turned out that the reason was the 64 bit strcpy() did not copy the 
overlapping termcap text buffer correclty while stripping off unneeded parts.

It seems that every call to strcpy() needs to be checked on whether there
are overlapping buffers.

Did someone else notice any strange behavior on SNV 129 that may have been 
caused by a similar reason?

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
       j...@cs.tu-berlin.de                (uni)  
       joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to