From: docwhat@... Date: 2018-01-17T17:56:08+00:00 Subject: [ruby-core:84907] [Ruby trunk Bug#14369] Win32::Resolv.get_hosts_path may return nil, causing Resolv to fail Issue #14369 has been reported by docwhat (Christian H��ltje). ---------------------------------------- Bug #14369: Win32::Resolv.get_hosts_path may return nil, causing Resolv to fail https://bugs.ruby-lang.org/issues/14369 * Author: docwhat (Christian H��ltje) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: trunk * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- [Win32::Resolv.get_hosts_path()](https://github.com/ruby/ruby/blob/e0468f5ce87ef77c1ad08bc0d107a967e4906783/ext/win32/lib/win32/resolv.rb#L14) may return `nil`. The `Resolv` class uses that [to get the hosts filename](https://github.com/ruby/ruby/blob/e0468f5ce87ef77c1ad08bc0d107a967e4906783/lib/resolv.rb#L172) which is used as the default when [initializing `Hosts`](https://github.com/ruby/ruby/blob/e0468f5ce87ef77c1ad08bc0d107a967e4906783/lib/resolv.rb#L180-L181) as `@filename`. However, [`File.open(@filename, 'rb')`](https://github.com/ruby/ruby/blob/e0468f5ce87ef77c1ad08bc0d107a967e4906783/lib/resolv.rb#L191) is always called, even if `@filename` is `nil`. This causes the error: `TypeError: no implicit conversion of nil into String` -- https://bugs.ruby-lang.org/ Unsubscribe: