diff --git a/Shorewall/Perl/Shorewall/Chains.pm b/Shorewall/Perl/Shorewall/Chains.pm index 16dd68439..1b531f60f 100644 --- a/Shorewall/Perl/Shorewall/Chains.pm +++ b/Shorewall/Perl/Shorewall/Chains.pm @@ -4206,10 +4206,10 @@ sub do_length( $ ) { require_capability( 'LENGTH_MATCH' , 'A Non-empty LENGTH' , 's' ); - fatal_error "Invalid LENGTH ($length)" unless $length =~/^(\d+)(:(\d+))$/; + fatal_error "Invalid LENGTH ($length)" unless $length =~/^(\d+)(:(\d+))?$/; - if ( supplied $3 ) { - fatal_error "First length must be < second length" unless $1 < $2; + if ( supplied $2 ) { + fatal_error "First length must be < second length" unless $1 < $3; } "-m length --length $length ";