From 06799402ed22aff342b1652950c3fd8c15547843 Mon Sep 17 00:00:00 2001 From: Brian Cain Date: Thu, 14 Nov 2019 14:38:42 -0800 Subject: [PATCH] Fixup: Ensure Gem::Version.new does not receive nil value This commit fixes an issue where Gem::Version.new could recieve a nil value if no addtional box updates are available. For some versions of ruby, this is actually an error case. This commit fixes that by converting it to an integer to prevent an exception. Issue reference: https://github.com/rubygems/rubygems/issues/2359 --- plugins/commands/box/command/outdated.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/commands/box/command/outdated.rb b/plugins/commands/box/command/outdated.rb index dd814c93e..f9ab9f146 100644 --- a/plugins/commands/box/command/outdated.rb +++ b/plugins/commands/box/command/outdated.rb @@ -73,7 +73,15 @@ module VagrantPlugins end current = Gem::Version.new(box.version) - latest = Gem::Version.new(md.versions(provider: box.provider).last) + box_versions = md.versions(provider: box.provider) + + if box_versions.empty? + latest_box_version = box_versions.last.to_i + else + latest_box_version = box_versions.last + end + + latest = Gem::Version.new(latest_box_version) if latest <= current @env.ui.success(I18n.t( "vagrant.box_up_to_date",