]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
hashlist: use errno style error handling
authorVictor Julien <vjulien@oisf.net>
Mon, 24 Oct 2022 11:02:55 +0000 (13:02 +0200)
committerVictor Julien <vjulien@oisf.net>
Tue, 20 Dec 2022 07:51:33 +0000 (08:51 +0100)
src/util-hashlist.c

index 686626173677af5a3a8ccdefbe1abb558b434c52..5775e28f4921adb3cf4cd7e9ca05cb524f6f6c30 100644 (file)
 #include "util-debug.h"
 #include "util-memcmp.h"
 
-HashListTable* HashListTableInit(uint32_t size, uint32_t (*Hash)(struct HashListTable_ *, void *, uint16_t), char (*Compare)(void *, uint16_t, void *, uint16_t), void (*Free)(void *)) {
-
+HashListTable *HashListTableInit(uint32_t size,
+        uint32_t (*Hash)(struct HashListTable_ *, void *, uint16_t),
+        char (*Compare)(void *, uint16_t, void *, uint16_t), void (*Free)(void *))
+{
+    sc_errno = SC_OK;
     HashListTable *ht = NULL;
 
     if (size == 0) {
+        sc_errno = SC_EINVAL;
         goto error;
     }
 
     if (Hash == NULL) {
-        //printf("ERROR: HashListTableInit no Hash function\n");
+        sc_errno = SC_EINVAL;
         goto error;
     }
 
     /* setup the filter */
     ht = SCMalloc(sizeof(HashListTable));
-    if (unlikely(ht == NULL))
-    goto error;
+    if (unlikely(ht == NULL)) {
+        sc_errno = SC_ENOMEM;
+        goto error;
+    }
     memset(ht,0,sizeof(HashListTable));
     ht->array_size = size;
     ht->Hash = Hash;
@@ -61,8 +67,10 @@ HashListTable* HashListTableInit(uint32_t size, uint32_t (*Hash)(struct HashList
 
     /* setup the bitarray */
     ht->array = SCMalloc(ht->array_size * sizeof(HashListTableBucket *));
-    if (ht->array == NULL)
+    if (ht->array == NULL) {
+        sc_errno = SC_ENOMEM;
         goto error;
+    }
     memset(ht->array,0,ht->array_size * sizeof(HashListTableBucket *));
 
     ht->listhead = NULL;