Page MenuHomeFreeBSD

D10004.id26259.diff
No OneTemporary

D10004.id26259.diff

Index: usr.sbin/syslogd/syslogd.c
===================================================================
--- usr.sbin/syslogd/syslogd.c
+++ usr.sbin/syslogd/syslogd.c
@@ -685,8 +685,10 @@
reapchild(WantReapchild);
if (MarkSet)
markit();
- if (WantDie)
+ if (WantDie) {
+ free(fdsr);
die(WantDie);
+ }
bzero(fdsr, howmany(fdsrmax+1, NFDBITS) *
sizeof(fd_mask));
@@ -2465,8 +2467,10 @@
ap->port = ntohs(se->s_port);
} else {
ap->port = strtol(cp1, &cp2, 0);
- if (*cp2 != '\0')
+ if (*cp2 != '\0') {
+ free(ap);
return (-1); /* port not numeric */
+ }
}
} else {
if ((se = getservbyname("syslog", "udp")))
@@ -2479,8 +2483,10 @@
if ((cp1 = strchr(s, '/')) != NULL &&
strspn(cp1 + 1, "0123456789") == strlen(cp1 + 1)) {
*cp1 = '\0';
- if ((masklen = atoi(cp1 + 1)) < 0)
+ if ((masklen = atoi(cp1 + 1)) < 0) {
+ free(ap);
return (-1);
+ }
}
#ifdef INET6
if (*s == '[') {
@@ -2527,6 +2533,7 @@
*maskp = htonl(~((1 << (32 - masklen)) - 1));
} else {
freeaddrinfo(res);
+ free(ap);
return (-1);
}
/* Lose any host bits in the network number. */
@@ -2537,6 +2544,7 @@
case AF_INET6:
if (masklen > 128) {
freeaddrinfo(res);
+ free(ap);
return (-1);
}
if (masklen < 0)
@@ -2560,6 +2568,7 @@
#endif
default:
freeaddrinfo(res);
+ free(ap);
return (-1);
}
freeaddrinfo(res);

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 20, 3:24 AM (14 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29995169
Default Alt Text
D10004.id26259.diff (1 KB)

Event Timeline