Re: syslog(3) as user sets errno

2007-04-28 Thread Stefan Ehmann
On Saturday 28 April 2007 14:16:34 Stefan Ehmann wrote:
 If a non-privilged program calls syslog(3), after the call, errno is set to
 13 (permission denied).

Seems like I jumped the gun.

opengroup.org says The value of errno should only be examined when it is 
indicated to be valid by a function's return value.

So it seems perfectly valid that errno is set.

Sorry for the noise.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


syslog(3) as user sets errno

2007-04-28 Thread Stefan Ehmann
If a non-privilged program calls syslog(3), after the call, errno is set to 13 
(permission denied).

In lib/libc/gen/syslog.c connectlog(), it is first tried to connect 
to /var/run/logpriv. If it fails /var/run/log is tried.

The first connect fails if syslog() is not called as root, it fails with 
errno=13 and the second connect succeeds.

This is all fine, except that errno is set to 13 after calling syslog().

Is this a bug or expected behaviour?

IMHO errno should be set to 0 before the second connect is called -- or is 
this a bad idea?

Stefan
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]