[PATCH 2/4] uefidump: dump the optional data for load option on driver device
Ivan Hu
ivan.hu at canonical.com
Wed Apr 20 03:20:05 UTC 2016
Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
---
src/uefi/uefidump/uefidump.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/uefi/uefidump/uefidump.c b/src/uefi/uefidump/uefidump.c
index 8f88c74..43f70cf 100644
--- a/src/uefi/uefidump/uefidump.c
+++ b/src/uefi/uefidump/uefidump.c
@@ -1089,6 +1089,7 @@ static void uefidump_info_driverdev(fwts_framework *fw, fwts_uefi_var *var)
{
fwts_uefi_load_option *load_option;
size_t len;
+ size_t offset;
if (var->datalen < sizeof(fwts_uefi_load_option))
return;
@@ -1109,7 +1110,6 @@ static void uefidump_info_driverdev(fwts_framework *fw, fwts_uefi_var *var)
if (load_option->file_path_list_length != 0) {
char *path;
- size_t offset;
/* Skip over description to get to packed path, unpack path and print */
offset = sizeof(load_option->attributes) +
@@ -1120,6 +1120,15 @@ static void uefidump_info_driverdev(fwts_framework *fw, fwts_uefi_var *var)
fwts_log_info_verbatum(fw, " Path: %s.", path);
free(path);
}
+
+ offset = sizeof(load_option->attributes) +
+ sizeof(load_option->file_path_list_length) +
+ (sizeof(uint16_t) * (len + 1)) +
+ load_option->file_path_list_length;
+ if ((var->datalen - offset) > 0) {
+ fwts_log_info_verbatum(fw, " OptionalData:");
+ uefidump_data_hexdump(fw, var->data + offset, var->datalen - offset);
+ }
}
static void uefidump_info_keyoption(fwts_framework *fw, fwts_uefi_var *var)
--
1.9.1
More information about the fwts-devel
mailing list