Fix an unitialized variable and usage corner case where if argc > 1, it would always accept the arguments as-is.

Signed-off-by: Garrett Cooper <yanegomi@gmail.com>
diff --git a/testcases/kernel/controllers/cpuset/cpuset_memory_pressure_test/cpuset_memory_pressure.c b/testcases/kernel/controllers/cpuset/cpuset_memory_pressure_test/cpuset_memory_pressure.c
index f24cca0..b5a9b20 100644
--- a/testcases/kernel/controllers/cpuset/cpuset_memory_pressure_test/cpuset_memory_pressure.c
+++ b/testcases/kernel/controllers/cpuset/cpuset_memory_pressure_test/cpuset_memory_pressure.c
@@ -20,7 +20,9 @@
 /*                                                                            */
 /******************************************************************************/
 
+#include <libgen.h>
 #include <stdlib.h>
+#include <stdio.h>
 #include <unistd.h>
 #include <string.h>
 #include <sys/mman.h>
@@ -29,15 +31,23 @@
 
 //argv[1] memory use(M) (>0)
 
-int main(int argc, char *argv[])
+int
+main(int argc, char *argv[])
 {
-	long use;
-	if (argc > 1)
-		use = atoi(argv[1]);
+	long int use;
+	if (argc != 2) {
+		fprintf(stderr, "usage: %s mmap-size-in-kB\n", basename(argv[0]));
+		exit(1);
+	}
+	if ((use = strtol(argv[1], NULL, 10)) < 0) {
+		fprintf(stderr, "Invalid mmap size specified (must be a long "
+				"int greater than 1)\n");
+		exit(1);
+	}
 
-	long pagesize = getpagesize();
-	long mmap_block = use * unit / 10 / pagesize;
-	long total_block = 0;
+	long int pagesize = getpagesize();
+	long int mmap_block = use * unit / 10 / pagesize;
+	long int total_block = 0;
 
 	while (pagesize * mmap_block > 2 * unit) {
 		unsigned long *addr = mmap(NULL, pagesize * mmap_block, 
@@ -53,5 +63,3 @@
 	}
 	return 0;
 }
-
-