From: Heinrich Schuchardt Date: Wed, 15 May 2019 21:27:43 +0000 (+0200) Subject: efi_loader: parameter checks simple network protocol X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=ce54fdc492dfac6c52fcd369a7414d5ef1f3ded9;p=u-boot.git efi_loader: parameter checks simple network protocol Check buffer pointers are not NULL as required by the UEFI 2.7 spec. Return EFI_UNSUPPORTED instead of EFI_INVALID_PARAMETER when trying to transmit with non-zero header_size. Signed-off-by: Heinrich Schuchardt --- diff --git a/lib/efi_loader/efi_net.c b/lib/efi_loader/efi_net.c index e0e222a70b..d71c663068 100644 --- a/lib/efi_loader/efi_net.c +++ b/lib/efi_loader/efi_net.c @@ -392,7 +392,7 @@ static efi_status_t EFIAPI efi_net_transmit efi_timer_check(); /* Check parameters */ - if (!this) { + if (!this || !buffer) { ret = EFI_INVALID_PARAMETER; goto out; } @@ -408,7 +408,7 @@ static efi_status_t EFIAPI efi_net_transmit * TODO: We would need to create the header * if header_size != 0 */ - ret = EFI_INVALID_PARAMETER; + ret = EFI_UNSUPPORTED; goto out; } @@ -466,7 +466,7 @@ static efi_status_t EFIAPI efi_net_receive efi_timer_check(); /* Check parameters */ - if (!this) { + if (!this || !buffer || !buffer_size) { ret = EFI_INVALID_PARAMETER; goto out; }