make MARK target use string_to_number [and thus report range overflows].
diff --git a/extensions/libipt_MARK.c b/extensions/libipt_MARK.c
index 93570d6..9774d45 100644
--- a/extensions/libipt_MARK.c
+++ b/extensions/libipt_MARK.c
@@ -48,8 +48,7 @@
 	switch (c) {
 		char *end;
 	case '1':
-		markinfo->mark = strtoul(optarg, &end, 0);
-		if (*end != '\0' || end == optarg)
+		if (string_to_number(optarg, 0, 0xfffff, &markinfo->mark))
 			exit_error(PARAMETER_PROBLEM, "Bad MARK value `%s'", optarg);
 		if (*flags)
 			exit_error(PARAMETER_PROBLEM,