diff --git a/lib/usb_dfu.c b/lib/usb_dfu.c index f65f5d2..7ede937 100644 --- a/lib/usb_dfu.c +++ b/lib/usb_dfu.c @@ -247,7 +247,7 @@ static enum usbd_request_return_codes usb_dfu_control_request(usbd_device *usbd_ // application data is exceeding enforced flash size for application usb_dfu_status = DFU_STATUS_ERR_ADDRESS; usb_dfu_state = STATE_DFU_ERROR; - } else if ((uint32_t)&__application_end < FLASH_BASE || (uint32_t)&__application_beginning + download_offset + download_length >= (uint32_t)(FLASH_BASE + DESIG_FLASH_SIZE * 1024)) { + } else if ((uint32_t)&__application_end < FLASH_BASE && (uint32_t)&__application_beginning + download_offset + download_length >= (uint32_t)(FLASH_BASE + DESIG_FLASH_SIZE * 1024)) { // application data is exceeding advertised flash size usb_dfu_status = DFU_STATUS_ERR_ADDRESS; usb_dfu_state = STATE_DFU_ERROR;