Module Name: src
Committed By: christos
Date: Sun Feb 8 15:09:45 UTC 2015
Modified Files:
src/usr.bin/netstat: inet.c inet6.c
Log Message:
Allocate the right size for pcb blocks.
XXX: pullup-7!
To generate a diff of this commit:
cvs rdiff -u -r1.105 -r1.106 src/usr.bin/netstat/inet.c
cvs rdiff -u -r1.67 -r1.68 src/usr.bin/netstat/inet6.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/netstat/inet.c
diff -u src/usr.bin/netstat/inet.c:1.105 src/usr.bin/netstat/inet.c:1.106
--- src/usr.bin/netstat/inet.c:1.105 Sat Feb 7 14:36:06 2015
+++ src/usr.bin/netstat/inet.c Sun Feb 8 10:09:45 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: inet.c,v 1.105 2015/02/07 19:36:06 christos Exp $ */
+/* $NetBSD: inet.c,v 1.106 2015/02/08 15:09:45 christos Exp $ */
/*
* Copyright (c) 1983, 1988, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "from: @(#)inet.c 8.4 (Berkeley) 4/20/94";
#else
-__RCSID("$NetBSD: inet.c,v 1.105 2015/02/07 19:36:06 christos Exp $");
+__RCSID("$NetBSD: inet.c,v 1.106 2015/02/08 15:09:45 christos Exp $");
#endif
#endif /* not lint */
@@ -286,7 +286,7 @@ getpcblist_kmem(u_long off, const char *
next = TAILQ_FIRST(head);
prev = TAILQ_END(head);
- if ((pcblist = malloc(size)) == NULL)
+ if ((pcblist = malloc(size * sizeof(*pcblist))) == NULL)
err(1, "malloc");
i = 0;
@@ -317,7 +317,9 @@ getpcblist_kmem(u_long off, const char *
pcblist[i].ki_tstate = tcpcb.t_state;
pcblist[i].ki_pflags = inpcb.inp_flags;
if (i++ == size) {
- struct kinfo_pcb *n = realloc(pcblist, size += 100);
+ size += 100;
+ struct kinfo_pcb *n = realloc(pcblist,
+ size * sizeof(*pcblist));
if (n == NULL)
err(1, "realloc");
pcblist = n;
Index: src/usr.bin/netstat/inet6.c
diff -u src/usr.bin/netstat/inet6.c:1.67 src/usr.bin/netstat/inet6.c:1.68
--- src/usr.bin/netstat/inet6.c:1.67 Sat Feb 7 14:36:06 2015
+++ src/usr.bin/netstat/inet6.c Sun Feb 8 10:09:45 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: inet6.c,v 1.67 2015/02/07 19:36:06 christos Exp $ */
+/* $NetBSD: inet6.c,v 1.68 2015/02/08 15:09:45 christos Exp $ */
/* BSDI inet.c,v 2.3 1995/10/24 02:19:29 prb Exp */
/*
@@ -64,7 +64,7 @@
#if 0
static char sccsid[] = "@(#)inet.c 8.4 (Berkeley) 4/20/94";
#else
-__RCSID("$NetBSD: inet6.c,v 1.67 2015/02/07 19:36:06 christos Exp $");
+__RCSID("$NetBSD: inet6.c,v 1.68 2015/02/08 15:09:45 christos Exp $");
#endif
#endif /* not lint */
@@ -303,7 +303,7 @@ getpcblist_kmem(u_long off, const char *
next = TAILQ_FIRST(head);
prev = TAILQ_END(head);
- if ((pcblist = malloc(size)) == NULL)
+ if ((pcblist = malloc(size * sizeof(*pcblist))) == NULL)
err(1, "malloc");
i = 0;
@@ -338,7 +338,9 @@ getpcblist_kmem(u_long off, const char *
memcpy(&pcblist[i].ki_d, &sin6, sizeof(sin6));
pcblist[i].ki_tstate = tcpcb.t_state;
if (i++ == size) {
- struct kinfo_pcb *n = realloc(pcblist, size += 100);
+ size += 100;
+ struct kinfo_pcb *n = realloc(pcblist,
+ size * sizeof(*pcblist));
if (n == NULL)
err(1, "realloc");
pcblist = n;