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;

Reply via email to