[U-Boot] [PATCH 1/1] efi_loader: parameter checks simple network protocol

Heinrich Schuchardt xypron.glpk at gmx.de
Wed May 15 21:33:09 UTC 2019


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 <xypron.glpk at gmx.de>
---
 lib/efi_loader/efi_net.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

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;
 	}
--
2.20.1



More information about the U-Boot mailing list