diff -ru ipt-orig/extensions/libipt_ttl.c ipt-new/extensions/libipt_ttl.c --- ipt-orig/extensions/libipt_ttl.c 2002-05-29 09:08:16.000000000 -0400 +++ ipt-new/extensions/libipt_ttl.c 2004-08-23 15:55:07.886209960 -0400 @@ -40,10 +40,6 @@ check_inverse(optarg, &invert, &optind, 0); value = atoi(argv[optind-1]); - if (*flags) - exit_error(PARAMETER_PROBLEM, - "Can't specify TTL option twice"); - if (!optarg) exit_error(PARAMETER_PROBLEM, "ttl: You must specify a value"); @@ -56,8 +52,6 @@ /* is 0 allowed? */ info->ttl = value; - *flags = 1; - break; case '3': if (invert) @@ -66,8 +60,6 @@ info->mode = IPT_TTL_LT; info->ttl = value; - *flags = 1; - break; case '4': if (invert) @@ -76,14 +68,17 @@ info->mode = IPT_TTL_GT; info->ttl = value; - *flags = 1; - break; default: return 0; } + if (*flags) + exit_error(PARAMETER_PROBLEM, + "Can't specify TTL option twice"); + *flags = 1; + return 1; }