diff
<             len += frag->data_len;
---
>             if (len + frag->data_len <= MAX_PACKET_SIZE) { // Assuming MAX_PACKET_SIZE is the maximum reassembled packet size
>                 len += frag->data_len;
>             }
