]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
defrag: fix timeout setting when config is missing
authorVictor Julien <victor@inliniac.net>
Mon, 16 Jun 2014 12:21:11 +0000 (14:21 +0200)
committerVictor Julien <victor@inliniac.net>
Mon, 23 Jun 2014 09:31:59 +0000 (11:31 +0200)
When the config is missing, DefragPolicyGetHostTimeout will default
to returning -1. This will effectively set no timeout at all, leading
to defrag trackers being freed too early.

src/defrag-config.c

index 8fc5bdf7a5011cb02f55fd82b00d73e6ac860a0f..5bc4be36b67a4a101d9b8d68e09b57e1d7a3047f 100644 (file)
@@ -96,7 +96,8 @@ int DefragPolicyGetHostTimeout(Packet *p)
         timeout = DefragPolicyGetIPv4HostTimeout((uint8_t *)GET_IPV4_DST_ADDR_PTR(p));
     else if (PKT_IS_IPV6(p))
         timeout = DefragPolicyGetIPv6HostTimeout((uint8_t *)GET_IPV6_DST_ADDR(p));
-    else
+
+    if (timeout <= 0)
         timeout = default_timeout;
 
     return timeout;