efi_loader: correct text conversion for vendor DP
Vendor device paths may contain data. When converting vendor device paths to text this binary data has to be rendered. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
b5b9eff26d
commit
8254f8feb7
1 changed files with 10 additions and 1 deletions
|
@ -60,9 +60,18 @@ static char *dp_hardware(char *s, struct efi_device_path *dp)
|
|||
break;
|
||||
}
|
||||
case DEVICE_PATH_SUB_TYPE_VENDOR: {
|
||||
int i, n;
|
||||
struct efi_device_path_vendor *vdp =
|
||||
(struct efi_device_path_vendor *)dp;
|
||||
s += sprintf(s, "VenHw(%pUl)", &vdp->guid);
|
||||
|
||||
s += sprintf(s, "VenHw(%pUl", &vdp->guid);
|
||||
n = (int)vdp->dp.length - sizeof(struct efi_device_path_vendor);
|
||||
if (n > 0) {
|
||||
s += sprintf(s, ",");
|
||||
for (i = 0; i < n; ++i)
|
||||
s += sprintf(s, "%02x", vdp->vendor_data[i]);
|
||||
}
|
||||
s += sprintf(s, ")");
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
Loading…
Reference in a new issue