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 <xypron.glpk@gmx.de>
This commit is contained in:
Heinrich Schuchardt 2019-05-15 23:27:43 +02:00
parent 487d8c75f1
commit ce54fdc492

View File

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