summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Percival <cperciva@FreeBSD.org>2005-05-07 03:58:25 +0000
committerColin Percival <cperciva@FreeBSD.org>2005-05-07 03:58:25 +0000
commit5ba518022ab3bbe683ab48dfa526ebd2b643fe29 (patch)
tree998a649730c2598106c569a9f77f9834a6dbaec0
parentba70bc6e158ffaee7b79ee97de555c62c2f55255 (diff)
Notes
-rw-r--r--UPDATING3
-rw-r--r--sys/kern/uipc_usrreq.c2
-rw-r--r--sys/netinet/tcp_subr.c2
3 files changed, 6 insertions, 1 deletions
diff --git a/UPDATING b/UPDATING
index f08b800b8eba..5f45df0afe32 100644
--- a/UPDATING
+++ b/UPDATING
@@ -11,6 +11,9 @@ portupgrade. Important recent entries: 20040724 (default X changes).
20050509:
FreeBSD 5.4-RELEASE.
+20050507: FreeBSD-SA-05:08.kmem
+ Correct two issues which missed from the earlier commit.
+
20050506: FreeBSD-SA-05:08.kmem
Correct several local kernel memory disclosure bugs.
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index decfbe270c34..de8d96922f55 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -1105,7 +1105,7 @@ unp_pcblist(SYSCTL_HANDLER_ARGS)
n = i; /* in case we lost some during malloc */
error = 0;
- xu = malloc(sizeof(*xu), M_TEMP, M_WAITOK);
+ xu = malloc(sizeof(*xu), M_TEMP, M_WAITOK | M_ZERO);
for (i = 0; i < n; i++) {
unp = unp_list[i];
if (unp->unp_gencnt <= gencnt) {
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index 2b759b277866..14166ad19715 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -947,6 +947,8 @@ tcp_pcblist(SYSCTL_HANDLER_ARGS)
if (inp->inp_gencnt <= gencnt) {
struct xtcpcb xt;
caddr_t inp_ppcb;
+
+ bzero(&xt, sizeof(xt));
xt.xt_len = sizeof xt;
/* XXX should avoid extra copy */
bcopy(inp, &xt.xt_inp, sizeof *inp);