diff
+--- a/Defrag4Reassemble.c
+++ b/Defrag4Reassemble.c
@@ -26,13 +26,14 @@
 25     Frag *frag = NULL;
 26     size_t len = 0;
 28         if (frag->offset > len) {
-34             len += frag->data_len;
+34             if (len + frag->data_len <= p->packet_len) {  // Assuming p->packet_len holds the total expected packet length
+35                 len += frag->data_len; 
+36             } else {
+37                 // Handle error: Invalid fragment length 
+38             }
+39         }
 