Fix a few goofs in sys_sysctl()

* system.c (sys_sysctl): Cast pointer to long, not size_t,
when we intend to use it as an address. Set oldlen to 0 prior
to reading into it - we want to have deterministic result
if read fails.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/system.c b/system.c
index 8efe90e..270bd5b 100644
--- a/system.c
+++ b/system.c
@@ -951,8 +951,8 @@
 			tprints(", ...");
 		tprintf("}, %d, ", info.nlen);
 	} else {
-		size_t oldlen;
-		if (umove(tcp, (size_t)info.oldlenp, &oldlen) >= 0
+		size_t oldlen = 0;
+		if (umove(tcp, (long)info.oldlenp, &oldlen) >= 0
 		    && info.nlen >= 2
 		    && ((name[0] == CTL_KERN
 			 && (name[1] == KERN_OSRELEASE
@@ -978,7 +978,6 @@
 				info.oldval, (unsigned long)oldlen,
 				info.newval, (unsigned long)info.newlen);
 		}
-		tprints("}");
 	}
 
 	free(name);