diff options
-rw-r--r-- | UPDATING | 3 | ||||
-rw-r--r-- | sys/kern/uipc_usrreq.c | 2 | ||||
-rw-r--r-- | sys/netinet/tcp_subr.c | 2 |
3 files changed, 6 insertions, 1 deletions
@@ -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); |