2009-01-01  Andreas Schwab  <schwab@suse.de>

	* net.c (sys_accept): Properly decode third argument as pointer to
	int.
diff --git a/net.c b/net.c
index b294230..be88969 100644
--- a/net.c
+++ b/net.c
@@ -1315,13 +1315,15 @@
 	} else if (!tcp->u_arg[2])
 		tprintf("%#lx, NULL", tcp->u_arg[1]);
 	else {
-		if (tcp->u_arg[1] == 0 || syserror(tcp)) {
+		int len;
+		if (tcp->u_arg[1] == 0 || syserror(tcp)
+		    || umove (tcp, tcp->u_arg[2], &len) < 0) {
 			tprintf("%#lx", tcp->u_arg[1]);
 		} else {
-			printsock(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+			printsock(tcp, tcp->u_arg[1], len);
 		}
 		tprintf(", ");
-		printnum(tcp, tcp->u_arg[2], "%lu");
+		printnum_int(tcp, tcp->u_arg[2], "%u");
 	}
 	return 0;
 }