fprintf(stderr, "Failed to probe partition entry UUID %s: %s\n", p, strerror(-r));
goto fail;
}
- sd_id128_from_string(v, uuid);
+
+ r = sd_id128_from_string(v, uuid);
+ if (r < 0) {
+ fprintf(stderr, "Partition %s has invalid UUID: %s\n", p, v);
+ r = -EIO;
+ goto fail;
+ }
errno = 0;
r = blkid_probe_lookup_value(b, "PART_ENTRY_NUMBER", &v, NULL);
efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderFirmwareType", &fw_type);
efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderFirmwareInfo", &fw_info);
efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderInfo", &loader);
- efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderImageIdentifier", &loader_path);
- efi_tilt_backslashes(loader_path);
+ if (efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderImageIdentifier", &loader_path) > 0)
+ efi_tilt_backslashes(loader_path);
efi_loader_get_device_part_uuid(&loader_part_uuid);
printf("System:\n");