diff options
Diffstat (limited to 'src/interface')
-rw-r--r-- | src/interface/efi/efi_snp_hii.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/interface/efi/efi_snp_hii.c b/src/interface/efi/efi_snp_hii.c index 720402bd..1e87ea15 100644 --- a/src/interface/efi/efi_snp_hii.c +++ b/src/interface/efi/efi_snp_hii.c @@ -546,6 +546,13 @@ efi_snp_hii_extract_config ( const EFI_HII_CONFIG_ACCESS_PROTOCOL *hii, /* Initialise results */ *results = NULL; + /* Work around apparently broken UEFI specification */ + if ( ! ( request && request[0] ) ) { + DBGC ( snpdev, "SNPDEV %p ExtractConfig ignoring malformed " + "request\n", snpdev ); + return EFI_INVALID_PARAMETER; + } + /* Process all request fragments */ for ( pos = *progress = request ; *progress && **progress ; pos = *progress + 1 ) { |