[2073] in Athena Bugs

home help back first fref pref prev next nref lref last post

Re: 6.1C syslogd

daemon@ATHENA.MIT.EDU (John T Kohl)
Thu Apr 13 10:16:07 1989

Date: Thu, 13 Apr 89 10:15:43 EDT
From: John T Kohl <jtkohl@ATHENA.MIT.EDU>
To: bugs@ATHENA.MIT.EDU, zephyr-bugs@ATHENA.MIT.EDU
I found the problem.  The facility used to look up the facility name
wasn't having high bits masked, so it was possible for clients sending
things like LOG_DAEMON|LOG_WARNING to cause an outbound zephyr syslog
message reference through some large array index and retrieving random
garbage, causing a seg fault.

Patch is appended; updated source and executable in
/mit/zephyr/{src,vax}/clients/syslogd/

John

*** /tmp/,RCSt1021570   Thu Apr 13 10:15:09 1989
--- syslogd.c   Thu Apr 13 10:11:19 1989
***************
*** 791,797 ****
                                       iov[4].iov_base);
                        (void) sprintf(pri_fac_str, "%s.%s",
                                       FacNames[fac].c_name,
!                                      PriNames[prilev].c_name);
                        znotice.z_message = line;
                        /* include the null just in case */
                        znotice.z_message_len = strlen (line) + 1;
--- 791,797 ----
                                       iov[4].iov_base);
                        (void) sprintf(pri_fac_str, "%s.%s",
                                       FacNames[fac].c_name,
!                                      PriNames[(prilev & LOG_PRIMASK)].c_name);
                        znotice.z_message = line;
                        /* include the null just in case */
                        znotice.z_message_len = strlen (line) + 1;

home help back first fref pref prev next nref lref last post