]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect/dataset: fix locking on datajson
authorEric Leblond <el@stamus-networks.com>
Mon, 9 Jun 2025 09:38:22 +0000 (11:38 +0200)
committerVictor Julien <victor@inliniac.net>
Wed, 11 Jun 2025 18:49:19 +0000 (20:49 +0200)
src/detect-dataset.c

index d68c804cf6a73cad05f8d7d795000b2d9224e32d..c41d2be7ad7a35475b8d0125b07e0c2ad533576a 100644 (file)
@@ -88,16 +88,18 @@ static int DetectDatajsonBufferMatch(DetectEngineThreadCtx *det_ctx, const Detec
                     det_ctx->json_content[det_ctx->json_content_len].id = sd->id;
                     det_ctx->json_content_len++;
                 }
-                DatajsonUnlockElt(&r);
             }
+            DatajsonUnlockElt(&r);
             return 1;
         }
         case DETECT_DATASET_CMD_ISNOTSET: {
             // PrintRawDataFp(stdout, data, data_len);
             DataJsonResultType r = DatajsonLookup(sd->set, data, data_len);
             SCLogDebug("r found: %d, len: %u", r.found, r.json.len);
-            if (r.found)
+            if (r.found) {
+                DatajsonUnlockElt(&r);
                 return 0;
+            }
             return 1;
         }
         default: