NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: lib/47055: libc diagassert issues

> (1) it calls syslog() blindly, so if an assertion happens in a program
> that hasn't called openlog(), it ends up using uninitialized state in
> syslog.c. The observable effect of this seems to be to issue syslog
> messages with no hostname field; however, it could be (or become,
> without much notice) a good deal worse.

that shouldn't be a problem.  it sounds like a bug in syslog(3) itself.
i've never seen any requirement for openlog(3) being necessary and indeed
our documentation says:

   The openlog() function provides for more specialized processing of the
   messages sent by syslog() and vsyslog().

> (2) it isn't thread-safe. It frob a global variable (diagassert_flags)
> without locking. It also should probably be using syslog_r() rather
> than syslog().

probably.  (i don't think we had syslog_r() back when diagassert
first appeared...)


Home | Main Index | Thread Index | Old Index