mirror of
https://github.com/zeek/zeek.git
synced 2025-10-09 10:08:20 +00:00
Fix handling of IPv6 atomic fragments.
The FragReassembler expire_timer was left uninitialized until after the first fragment is added, but since the atomic fragment is also the last, the reassembler thought expire_timer needed to be deleted. This fix just initializes expire_timer before the first fragment is added.
This commit is contained in:
parent
97652bc144
commit
d8d83f590b
4 changed files with 13 additions and 2 deletions
|
@ -52,8 +52,6 @@ FragReassembler::FragReassembler(NetSessions* arg_s,
|
|||
frag_size = 0; // flag meaning "not known"
|
||||
next_proto = ip->NextProto();
|
||||
|
||||
AddFragment(t, ip, pkt);
|
||||
|
||||
if ( frag_timeout != 0.0 )
|
||||
{
|
||||
expire_timer = new FragTimer(this, t + frag_timeout);
|
||||
|
@ -61,6 +59,8 @@ FragReassembler::FragReassembler(NetSessions* arg_s,
|
|||
}
|
||||
else
|
||||
expire_timer = 0;
|
||||
|
||||
AddFragment(t, ip, pkt);
|
||||
}
|
||||
|
||||
FragReassembler::~FragReassembler()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue