53 if (
p == NULL || seg == NULL) {
59 const uint8_t *seg_data;
62 if (seg_data == NULL || seg_datalen == 0)
65 const TCPHdr *tcph = PacketGetTCP(
p);
71 }
else if (
SEQ_GT(pkt_seq, (seg->
seq + seg_datalen))) {
79 uint32_t seg_seq = seg->
seq;
84 uint32_t seg_end = seg_seq + seg_datalen;
85 SCLogDebug(
"pkt_end %u, seg_end %u", pkt_end, seg_end);
88 uint32_t end =
SEQ_MIN(seg_end, pkt_end);
94 uint32_t pkt_off =
seq - pkt_seq;
95 uint32_t seg_off =
seq - seg_seq;
96 SCLogDebug(
"pkt_off %u, seg_off %u", pkt_off, seg_off);
98 uint32_t range = end -
seq;
125 const TCPHdr *tcph = PacketGetTCP(
p);
127 uint32_t tseq = seg->
seq;
136 const uint8_t *seg_data;
137 uint32_t seg_datalen;
141 uint32_t tend = tseq + seg_datalen;
145 uint32_t end = (
SEQ_GT(pend, tend)) ? tend : pend;
147 uint32_t
seq = (
SEQ_LT(pseq, tseq)) ? tseq : pseq;
150 uint32_t poff =
seq - pseq;
151 uint32_t toff =
seq - tseq;
154 uint32_t range = end -
seq;
161 memcpy(
p->
payload+poff, seg_data+toff, range);