Skip to content

Commit c145777

Browse files
committed
dcd_pic32: Add asserts transfer sanity check
TU_ASSERTS added to detect transfer inconsistency.
1 parent d51743a commit c145777

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/portable/microchip/pic32mz/dcd_pic32mz.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,7 @@ static void ep0_handle_rx(void)
530530

531531
transferred = rx_fifo_read(0, xfer->buffer + xfer->transferred);
532532
xfer->transferred += transferred;
533+
TU_ASSERT(xfer->transferred <= xfer->total_len,);
533534
if (transferred < xfer->max_packet_size || xfer->transferred == xfer->total_len)
534535
{
535536
ep0_set_stage(EP0_STAGE_DATA_OUT_COMPLETE);
@@ -560,6 +561,7 @@ static void epn_handle_rx_int(uint8_t epnum)
560561
transferred = rx_fifo_read(epnum, xfer->buffer + xfer->transferred);
561562
USB_REGS->EPCSR[epnum].RXCSRL_HOSTbits.RXPKTRDY = 0;
562563
xfer->transferred += transferred;
564+
TU_ASSERT(xfer->transferred <= xfer->total_len,);
563565
if (transferred < xfer->max_packet_size || xfer->transferred == xfer->total_len)
564566
{
565567
xfer_complete(xfer, XFER_RESULT_SUCCESS, true);
@@ -579,6 +581,7 @@ static void epn_handle_tx_int(uint8_t epnum)
579581
else
580582
{
581583
xfer->transferred += xfer->last_packet_size;
584+
TU_ASSERT(xfer->transferred <= xfer->total_len,);
582585
if (xfer->last_packet_size < xfer->max_packet_size || xfer->transferred == xfer->total_len)
583586
{
584587
xfer->last_packet_size = 0;

0 commit comments

Comments
 (0)