That's an argument for doing this for COMPAT_* code. It's not an argument for doing it for non-compat programs. Indeed, I think it's actually better to break code depending on such incorrect assumptions, beacuse it makes it easier to find (and then fix) them.
While in principle I agree with Mouse, in this particular case I'm not that sure. To the best of my knowledge, it was long unspecified whether the terminating '\0' was part of the address or not. In fact, historical behavior had a fixed size structure for local domain socket addresses with 104 bytes for the path name. AFAICS if a user program provided space for this and was somehow sure to use names shorter than this, the returned sockaddr_un would include the '\0' beyond the end of the path name. So while those programs are indeed incorrect with respect to the definition in our current manual page, they are more or less correct with respect to historical behavior. Ciao, Wolfgang -- Wolfgang%Solfrank.net@localhost Wolfgang Solfrank
Description: S/MIME Cryptographic Signature