diff --git a/efi/main.c b/efi/main.c index e07ee5c8c..fd95f5c82 100644 --- a/efi/main.c +++ b/efi/main.c @@ -63,7 +63,7 @@ bool efi_get_MAC( EFI_DEVICE_PATH * pDevPath, uint8_t * mac, uint16_t mac_size) /* Find the handler to dump this device path node */ if (DevicePathType(DevPathNode) == MESSAGING_DEVICE_PATH && DevicePathSubType(DevPathNode) == MSG_MAC_ADDR_DP) { - MAC = DevPathNode; + MAC = (MAC_ADDR_DEVICE_PATH *)DevPathNode; CopyMem(mac, MAC->MacAddress.Addr, PXE_MAC_LENGTH); FreePool(pDevPath); return TRUE; @@ -105,13 +105,13 @@ struct efi_binding *efi_create_binding(EFI_GUID *bguid, EFI_GUID *pguid) status = EFI_UNSUPPORTED; goto free_binding; } - efi_get_MAC(DevicePath, &mac_1, PXE_MAC_LENGTH); + efi_get_MAC(DevicePath, mac_1, PXE_MAC_LENGTH); status = LibLocateHandle(ByProtocol, bguid, NULL, &nr_handles, &handles); if (status != EFI_SUCCESS) goto free_binding; for (i = 0; i < nr_handles; i++) { DevicePath = DevicePathFromHandle(handles[i]); - if (efi_get_MAC(DevicePath, &mac_2, PXE_MAC_LENGTH) + if (efi_get_MAC(DevicePath, mac_2, PXE_MAC_LENGTH) && memcmp(mac_1, mac_2, PXE_MAC_LENGTH) == 0) { sb_handle = handles[i]; status = uefi_call_wrapper(BS->OpenProtocol, 6, sb_handle, diff --git a/efi/pxe.c b/efi/pxe.c index 43009478e..1b3a460df 100644 --- a/efi/pxe.c +++ b/efi/pxe.c @@ -96,7 +96,6 @@ void net_parse_dhcp(void) uint8_t hardlen; uint32_t ip; char dst[256]; - UINTN i = 0; status = uefi_call_wrapper(BS->HandleProtocol, 3, image_device_handle, &PxeBaseCodeProtocol, (void **)&bc);