- correct boilerplate
- use bb_xgetlarg for the patch_level to catch invalid arguments.
diff --git a/editors/patch.c b/editors/patch.c
index f283953..bcd3c68 100644
--- a/editors/patch.c
+++ b/editors/patch.c
@@ -3,7 +3,7 @@
  *  busybox patch applet to handle the unified diff format.
  *  Copyright (C) 2003 Glenn McGrath <bug1@iinet.net.au>
  *
- *  Licensed under the GPL v2, see the file LICENSE in this tarball.
+ *  Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
  *
  *  This applet is written to work with patches generated by GNU diff,
  *  where there is equivalent functionality busybox patch shall behave
@@ -99,7 +99,7 @@
 		char *p, *i;
 		ret = bb_getopt_ulflags(argc, argv, "p:i:", &p, &i);
 		if (ret & 1)
-			patch_level = atoi(p);
+			patch_level = bb_xgetlarg(p, 10, -1, USHRT_MAX);
 		if (ret & 2) {
 			patch_file = bb_xfopen(i, "r");
 		} else {