From: samuel@... Date: 2019-07-09T06:55:05+00:00 Subject: [ruby-core:93630] [Ruby master Bug#15832] IPAddr.new accepts invalid mask IP address Issue #15832 has been updated by ioquatix (Samuel Williams). Status changed from Assigned to Closed I merged it. ---------------------------------------- Bug #15832: IPAddr.new accepts invalid mask IP address https://bugs.ruby-lang.org/issues/15832#change-79238 * Author: tsuna (Kenta Tsuna) * Status: Closed * Priority: Normal * Assignee: knu (Akinori MUSHA) * Target version: * ruby -v: ruby 2.7.0dev (2019-05-05 trunk 594a033ff0) [x86_64-linux] * Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- IPAddr.new accepts IP address with multiple mask and/or zero padded one. ``` $ cat ipaddr.rb require 'ipaddr' addrs = %w[192.0.2.0/24/16 192.0.2.0/00024 192.0.2.0/24/00016 192.0.2.0/00024/16 2001:db8::/32/24 2001:db8::/00032 2001:db8::/32/00024 2001:db8::/00032/24] addrs.each do |addr| begin p IPAddr.new(addr) puts "#{addr} is valid" rescue StandardError puts "#{addr} is invalid" end end ``` ``` $ ruby ipaddr.rb # 192.0.2.0/24/16 is valid # 192.0.2.0/00024 is valid # 192.0.2.0/24/00016 is valid # 192.0.2.0/00024/16 is valid # 2001:db8::/32/24 is valid # 2001:db8::/00032 is valid # 2001:db8::/32/00024 is valid # 2001:db8::/00032/24 is valid ``` -- https://bugs.ruby-lang.org/ Unsubscribe: