From: merch-redmine@... Date: 2019-06-05T02:02:23+00:00 Subject: [ruby-core:92967] [Ruby trunk Bug#15832] IPAddr.new accepts invalid mask IP address Issue #15832 has been updated by jeremyevans0 (Jeremy Evans). Assignee set to knu (Akinori MUSHA) Status changed from Open to Assigned I submitted a pull request to ruby/ipaddr to fix this: https://github.com/ruby/ipaddr/pull/17 ---------------------------------------- Bug #15832: IPAddr.new accepts invalid mask IP address https://bugs.ruby-lang.org/issues/15832#change-78345 * Author: tsuna (Kenta Tsuna) * Status: Assigned * 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: