]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
htp: destroy atomic vars
authorGiuseppe Longo <glongo@stamus-networks.com>
Mon, 11 Dec 2017 08:42:56 +0000 (09:42 +0100)
committerVictor Julien <victor@inliniac.net>
Tue, 19 Dec 2017 10:18:57 +0000 (11:18 +0100)
Atomic vars declared in app-layer-htp-mem.c were not
destroyed when suricata is shutdown.

src/app-layer-htp-mem.c
src/app-layer-htp-mem.h
src/app-layer-htp.c

index a6b37ac20f540f0e06c4bd308b1d22b2a31243e3..ff36ca937cf6d066659c92948c3e366488d238c9 100644 (file)
@@ -195,6 +195,12 @@ void HTPFree(void *ptr, size_t size)
     HTPDecrMemuse((uint64_t)size);
 }
 
+void HTPDestroyMemcap(void)
+{
+    SC_ATOMIC_DESTROY(htp_config_memcap);
+    SC_ATOMIC_DESTROY(htp_memcap);
+    SC_ATOMIC_DESTROY(htp_memuse);
+}
 
 /**
  * @}
index 414b48821a74719e7b48963209fac88f300d80ce..8c5112e1e86f24d6d7e0e08d02c46a440bc86d8c 100644 (file)
@@ -22,6 +22,7 @@ void *HTPMalloc(size_t size);
 void *HTPCalloc(size_t n, size_t size);
 void *HTPRealloc(void *ptr, size_t orig_size, size_t size);
 void HTPFree(void *ptr, size_t size);
+void HTPDestroyMemcap(void);
 
 int HTPSetMemcap(uint64_t size);
 uint64_t HTPGetMemcap(void);
index d8a33088563fd981b25d1ef5fd7dfb740a00a237..e424872a301d2c7ca7888f8c735ce50464426e31 100644 (file)
@@ -1916,6 +1916,7 @@ void HTPFreeConfig(void)
         htp_config_destroy(htprec->cfg);
         SCFree(htprec);
     }
+    HTPDestroyMemcap();
     SCReturn;
 }