summaryrefslogtreecommitdiff
path: root/lib/ipaddr.rb
diff options
context:
space:
mode:
authorJeremy Evans <[email protected]>2019-06-04 18:58:15 -0700
committerHiroshi SHIBATA <[email protected]>2021-10-07 18:22:43 +0900
commitabad5e10e80c06f2e756667cd2d7f7d9b6e78ba5 (patch)
tree687de1ead6d36c1020fa3349fbad7d7112d77105 /lib/ipaddr.rb
parent38da84296c0e50c4285d8a8c146af5fc3c8afc7d (diff)
[ruby/ipaddr] Disallow leading zeros in mask
https://github.com/ruby/ipaddr/commit/f49d2d49a4
Diffstat (limited to 'lib/ipaddr.rb')
-rw-r--r--lib/ipaddr.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/ipaddr.rb b/lib/ipaddr.rb
index 6385d69c6a..6c0ded2a77 100644
--- a/lib/ipaddr.rb
+++ b/lib/ipaddr.rb
@@ -495,8 +495,11 @@ class IPAddr
def mask!(mask)
case mask
when String
- if mask =~ /\A\d+\z/
+ case mask
+ when /\A(0|[1-9]+\d*)\z/
prefixlen = mask.to_i
+ when /\A\d+\z/
+ raise InvalidPrefixError, "leading zeros in prefix"
else
m = IPAddr.new(mask)
if m.family != @family