From: Heinrich Schuchardt Date: Wed, 4 Sep 2019 10:52:01 +0000 (+0200) Subject: efi_loader: correct text conversion for vendor DP X-Git-Tag: v2019.10-rc4~21^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8254f8feb71a93a4d87aa68d900660ef445d44cd;p=platform%2Fkernel%2Fu-boot.git 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 --- diff --git a/lib/efi_loader/efi_device_path_to_text.c b/lib/efi_loader/efi_device_path_to_text.c index 96fd089..133542a 100644 --- a/lib/efi_loader/efi_device_path_to_text.c +++ b/lib/efi_loader/efi_device_path_to_text.c @@ -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: