svn commit: r244883 - stable/7/usr.sbin/syslogd

Mark Johnston markj at FreeBSD.org
Mon Dec 31 03:35:10 UTC 2012


Author: markj
Date: Mon Dec 31 03:35:09 2012
New Revision: 244883
URL: http://svnweb.freebsd.org/changeset/base/244883

Log:
  MFC 244523:
  - Make sure that errno isn't modified before calling logerror() in error
    conditions.
  - Don't check for AF_INET6 when compiled without INET6 support.
  
  Approved by:	emaste (co-mentor)

Modified:
  stable/7/usr.sbin/syslogd/syslogd.c

Modified: stable/7/usr.sbin/syslogd/syslogd.c
==============================================================================
--- stable/7/usr.sbin/syslogd/syslogd.c	Mon Dec 31 03:35:01 2012	(r244882)
+++ stable/7/usr.sbin/syslogd/syslogd.c	Mon Dec 31 03:35:09 2012	(r244883)
@@ -1877,6 +1877,7 @@ cfline(const char *line, struct filed *f
 
 			pri = decode(buf, prioritynames);
 			if (pri < 0) {
+				errno = 0;
 				(void)snprintf(ebuf, sizeof ebuf,
 				    "unknown priority name \"%s\"", buf);
 				logerror(ebuf);
@@ -1905,6 +1906,7 @@ cfline(const char *line, struct filed *f
 			} else {
 				i = decode(buf, facilitynames);
 				if (i < 0) {
+					errno = 0;
 					(void)snprintf(ebuf, sizeof ebuf,
 					    "unknown facility name \"%s\"",
 					    buf);
@@ -2660,6 +2662,7 @@ socksetup(int af, const char *bindhostna
 			logerror("socket");
 			continue;
 		}
+#ifdef INET6
 		if (r->ai_family == AF_INET6) {
 			if (setsockopt(*s, IPPROTO_IPV6, IPV6_V6ONLY,
 				       (char *)&on, sizeof (on)) < 0) {
@@ -2668,6 +2671,7 @@ socksetup(int af, const char *bindhostna
 				continue;
 			}
 		}
+#endif
 		if (setsockopt(*s, SOL_SOCKET, SO_REUSEADDR,
 			       (char *)&on, sizeof (on)) < 0) {
 			logerror("setsockopt");
@@ -2684,8 +2688,8 @@ socksetup(int af, const char *bindhostna
 		 */
 		if (!NoBind) {
 			if (bind(*s, r->ai_addr, r->ai_addrlen) < 0) {
-				close(*s);
 				logerror("bind");
+				close(*s);
 				continue;
 			}
 


More information about the svn-src-stable-7 mailing list