Module Name:    src
Committed By:   martin
Date:           Wed Feb 11 14:04:19 UTC 2015

Modified Files:
        src/usr.bin/netstat [netbsd-6]: inet.c inet6.c

Log Message:
Pull up following revision(s) (requested by christos in ticket #1249):
        usr.bin/netstat/inet.c: revision 1.106
        usr.bin/netstat/inet6.c: revision 1.68
Allocate the right size for pcb blocks.


To generate a diff of this commit:
cvs rdiff -u -r1.101.2.1 -r1.101.2.2 src/usr.bin/netstat/inet.c
cvs rdiff -u -r1.59.6.1 -r1.59.6.2 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.101.2.1 src/usr.bin/netstat/inet.c:1.101.2.2
--- src/usr.bin/netstat/inet.c:1.101.2.1	Mon Jul 29 06:11:02 2013
+++ src/usr.bin/netstat/inet.c	Wed Feb 11 14:04:19 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: inet.c,v 1.101.2.1 2013/07/29 06:11:02 msaitoh Exp $	*/
+/*	$NetBSD: inet.c,v 1.101.2.2 2015/02/11 14:04:19 martin 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.101.2.1 2013/07/29 06:11:02 msaitoh Exp $");
+__RCSID("$NetBSD: inet.c,v 1.101.2.2 2015/02/11 14:04:19 martin Exp $");
 #endif
 #endif /* not lint */
 
@@ -284,7 +284,7 @@ getpcblist_kmem(u_long off, const char *
 	    (struct inpcb *)&((struct inpcbtable *)off)->inpt_queue.cqh_first;
 	next = (struct inpcb *)table.inpt_queue.cqh_first;
 
-	if ((pcblist = malloc(size)) == NULL)
+	if ((pcblist = malloc(size * sizeof(*pcblist))) == NULL)
 		err(1, "malloc");
 
 	i = 0;
@@ -319,7 +319,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.59.6.1 src/usr.bin/netstat/inet6.c:1.59.6.2
--- src/usr.bin/netstat/inet6.c:1.59.6.1	Mon Jul 29 06:11:02 2013
+++ src/usr.bin/netstat/inet6.c	Wed Feb 11 14:04:19 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: inet6.c,v 1.59.6.1 2013/07/29 06:11:02 msaitoh Exp $	*/
+/*	$NetBSD: inet6.c,v 1.59.6.2 2015/02/11 14:04:19 martin 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.59.6.1 2013/07/29 06:11:02 msaitoh Exp $");
+__RCSID("$NetBSD: inet6.c,v 1.59.6.2 2015/02/11 14:04:19 martin Exp $");
 #endif
 #endif /* not lint */
 
@@ -295,7 +295,7 @@ getpcblist_kmem(u_long off, const char *
 	    (struct in6pcb *)&((struct inpcbtable *)off)->inpt_queue.cqh_first;
 	next = (struct in6pcb *)table.inpt_queue.cqh_first;
 
-	if ((pcblist = malloc(size)) == NULL)
+	if ((pcblist = malloc(size * sizeof(*pcblist))) == NULL)
 		err(1, "malloc");
 
 	i = 0;
@@ -334,7 +334,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