From 32e1f288e149b5ea1c6b3694c7155243378ae543 Mon Sep 17 00:00:00 2001 From: jonathannewman Date: Mon, 13 Nov 2023 11:02:54 -0800 Subject: [PATCH] (maint) ensure no nil dereference in find_in_interfaces This adds a simple check to ensure that `find_in_interfaces` does not attempt to dereference a nil argument. It resolves https://github.com/puppetlabs/facter/issues/2637 --- lib/facter/util/resolvers/networking/primary_interface.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/facter/util/resolvers/networking/primary_interface.rb b/lib/facter/util/resolvers/networking/primary_interface.rb index 56d0c49377..a20a6462b7 100644 --- a/lib/facter/util/resolvers/networking/primary_interface.rb +++ b/lib/facter/util/resolvers/networking/primary_interface.rb @@ -57,6 +57,8 @@ def read_from_ip_route end def find_in_interfaces(interfaces) + return if interfaces.nil? + interfaces.each do |iface_name, interface| interface[:bindings]&.each do |binding| return iface_name unless Facter::Util::Resolvers::Networking.ignored_ip_address(binding[:address])