syslog(3) as user sets errno
    Stefan Ehmann 
    shoesoft at gmx.net
       
    Sat Apr 28 12:43:17 UTC 2007
    
    
  
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
    
    
More information about the freebsd-questions
mailing list