revert: tcp_reassembly_pop() check ptr && tcp_segment_init() reduce memset
This commit is contained in:
@@ -33,6 +33,15 @@ struct tcp_reassembly
|
||||
struct tcp_segment *tcp_segment_new(uint32_t seq, const void *data, uint32_t len)
|
||||
{
|
||||
struct tcp_segment_private *p = (struct tcp_segment_private *)malloc(sizeof(struct tcp_segment_private) + len);
|
||||
if (!p)
|
||||
{
|
||||
TCP_REASSEMBLY_LOG_ERROR("calloc failed");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
p->ts = 0;
|
||||
p->id = 0;
|
||||
|
||||
p->node.start = seq;
|
||||
p->node.last = (uint64_t)seq + (uint64_t)len - 1;
|
||||
p->data = (char *)p + sizeof(struct tcp_segment_private);
|
||||
@@ -65,8 +74,10 @@ struct tcp_reassembly *tcp_reassembly_new(uint64_t max_timeout, uint64_t max_seg
|
||||
assembler->max_timeout = max_timeout;
|
||||
assembler->max_seg_num = max_seg_num;
|
||||
assembler->cur_seg_num = 0;
|
||||
assembler->root = RB_ROOT_CACHED;
|
||||
assembler->sum_seg_num = 0;
|
||||
INIT_LIST_HEAD(&assembler->list);
|
||||
assembler->root = RB_ROOT_CACHED;
|
||||
assembler->recv_next = 0;
|
||||
|
||||
return assembler;
|
||||
}
|
||||
@@ -167,8 +178,6 @@ struct tcp_segment *tcp_reassembly_pop(struct tcp_reassembly *assembler)
|
||||
node = interval_tree_iter_next(node, assembler->recv_next, assembler->recv_next);
|
||||
}
|
||||
|
||||
if(oldest==NULL)return NULL;
|
||||
|
||||
list_del(&oldest->lru);
|
||||
interval_tree_remove(&oldest->node, &assembler->root);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user