]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
datasets: work around scan-build warning
authorVictor Julien <vjulien@oisf.net>
Tue, 18 Mar 2025 21:26:53 +0000 (22:26 +0100)
committerVictor Julien <vjulien@oisf.net>
Wed, 19 Mar 2025 17:36:55 +0000 (18:36 +0100)
datasets.c:493:27: warning: Dereference of null pointer [core.NullDereference]
  493 |     DEBUG_VALIDATE_BUG_ON(set->hash->config.hash_size != hashsize);
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./util-validate.h:95:44: note: expanded from macro 'DEBUG_VALIDATE_BUG_ON'
   95 | #define DEBUG_VALIDATE_BUG_ON(exp) BUG_ON((exp))
      |                                            ^~~
./suricata-common.h:307:36: note: expanded from macro 'BUG_ON'
  307 |         #define BUG_ON(x) assert(!(x))
      |                                    ^
/usr/include/assert.h:109:7: note: expanded from macro 'assert'
  109 |     ((expr)                                                             \
      |       ^~~~
1 warning generated.

(cherry picked from commit c6fdf99cec1ba7067b20e68ea4e812cb4c043881)

src/datasets.c

index 412413ab4a4f65c1995641e94e55cc800a4cee92..db9da766802c99299c9c45e467d7a55131bc1594 100644 (file)
@@ -786,8 +786,11 @@ Dataset *DatasetGet(const char *name, enum DatasetTypes type, const char *save,
                 goto out_err;
             break;
     }
+    if (set->hash == NULL) {
+        goto out_err;
+    }
 
-    if (set->hash && SC_ATOMIC_GET(set->hash->memcap_reached)) {
+    if (SC_ATOMIC_GET(set->hash->memcap_reached)) {
         SCLogError("dataset too large for set memcap");
         goto out_err;
     }