In SUSE guests, handle the case where Bootloader::Tools::GetDefaultSection () returns undef. Previously this would return an empty string and cause a bogus error in subsequent code: virt-v2v: error: libguestfs error: statns: statns_stub: path must start with a / character --- v2v/linux_bootloaders.ml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/v2v/linux_bootloaders.ml b/v2v/linux_bootloaders.ml index b5ad25508..d76407670 100644 --- a/v2v/linux_bootloaders.ml +++ b/v2v/linux_bootloaders.ml @@ -287,10 +287,21 @@ object (self) let cmd = [| "/usr/bin/perl"; "-MBootloader::Tools"; "-e"; " InitLibrary(); - my $default = Bootloader::Tools::GetDefaultSection(); - print $default->{image}; + my $default = Bootloader::Tools::GetDefaultSection (); + if (!defined $default) { + print 'NODEFAULTSECTION' + } + elsif (exists $default->{image}) { + print $default->{image} + } + else { + die 'no $default->{image}' # should never happen + } " |] in - Some (g#command cmd) + let res = g#command cmd in + (match res with + | "NODEFAULTSECTION" -> None + | _ -> Some res) | MethodNone -> None in match res with -- 2.13.2