diff --git a/lib/ipaddr.rb b/lib/ipaddr.rb index 7a5cf94..5cab9d4 100644 --- a/lib/ipaddr.rb +++ b/lib/ipaddr.rb @@ -652,7 +652,7 @@ def in_addr(addr) end octets.inject(0) { |i, s| (n = s.to_i) < 256 or raise InvalidAddressError, "invalid address: #{@addr}" - s.match(/\A0./) and raise InvalidAddressError, "zero-filled number in IPv4 address is ambiguous: #{@addr}" + (s != '0') && s.start_with?('0') and raise InvalidAddressError, "zero-filled number in IPv4 address is ambiguous: #{@addr}" i << 8 | n } end