bin/116642: syslogd bug

Jim Pirzyk pirzyk at FreeBSD.org
Tue Sep 25 15:50:02 PDT 2007


>Number:         116642
>Category:       bin
>Synopsis:       syslogd bug
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 25 22:50:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Jim Pirzyk
>Release:        FreeBSD 6.2-RELEASE-p4 i386
>Organization:
>Environment:
System: FreeBSD lilo.cites.uiuc.edu 6.2-RELEASE-p4 FreeBSD 6.2-RELEASE-p4 #0: Thu Apr 26 17:40:53 UTC 2007 root at i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386


	
>Description:
	When saving the name of the PIPE, the cfline saves the value to the
	wrong data element in the filed structure.  Since the element in question
	is part of a union and they start in the same place, and are the same
	lenth, this does not cause any program issues.  If those two constraints
	are relaxed, it will cause a problem.

>How-To-Repeat:
	
>Fix:

--- ./syslogd.c.orig	Thu Jun 29 16:22:30 2006
+++ syslogd.c	Tue Sep 25 17:15:29 2007
@@ -1941,7 +1941,7 @@
 
 	case '|':
 		f->f_un.f_pipe.f_pid = 0;
-		(void)strlcpy(f->f_un.f_fname, p + 1, sizeof(f->f_un.f_fname));
+		(void)strlcpy(f->f_un.f_pipe.f_pname, p + 1, sizeof(f->f_un.f_pipe.f_pname));
 		f->f_type = F_PIPE;
 		break;
 
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list