]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect/mpm: improve profiling name for frame/pkt buffers
authorVictor Julien <vjulien@oisf.net>
Fri, 12 Sep 2025 12:41:05 +0000 (14:41 +0200)
committerVictor Julien <vjulien@oisf.net>
Sun, 14 Sep 2025 14:12:59 +0000 (16:12 +0200)
src/detect-engine-mpm.c

index da2331f27917936b6422d509e01ae3fafef56bb2..6788e2d998aadc61c10932ce0912db0adb7b042e 100644 (file)
@@ -419,7 +419,6 @@ void DetectFrameMpmRegisterByParentId(DetectEngineCtx *de_ctx, const int id, con
             DetectBufferMpmRegistry *am = SCCalloc(1, sizeof(*am));
             BUG_ON(am == NULL);
             am->name = t->name;
-            snprintf(am->pname, sizeof(am->pname), "%s#%d", am->name, id);
             DEBUG_VALIDATE_BUG_ON(id < 0 || id > UINT16_MAX);
             am->sm_list = (uint16_t)id; // use new id
             am->sm_list_base = t->sm_list;
@@ -431,8 +430,11 @@ void DetectFrameMpmRegisterByParentId(DetectEngineCtx *de_ctx, const int id, con
             am->direction = t->direction;
             am->sgh_mpm_context = t->sgh_mpm_context;
             am->next = t->next;
+
+            BuildBasicPname(am->pname, sizeof(am->pname), am->name, (uint16_t)id);
             if (transforms) {
                 memcpy(&am->transforms, transforms, sizeof(*transforms));
+                AppendTransformsToPname(am->pname, sizeof(am->pname), transforms);
             }
             am->id = de_ctx->frame_mpms_list_cnt++;
 
@@ -649,7 +651,6 @@ void DetectPktMpmRegisterByParentId(DetectEngineCtx *de_ctx,
             DetectBufferMpmRegistry *am = SCCalloc(1, sizeof(*am));
             BUG_ON(am == NULL);
             am->name = t->name;
-            snprintf(am->pname, sizeof(am->pname), "%s#%d", am->name, id);
             DEBUG_VALIDATE_BUG_ON(id < 0 || id > INT16_MAX);
             am->sm_list = (uint16_t)id; // use new id
             am->sm_list_base = t->sm_list;
@@ -659,8 +660,11 @@ void DetectPktMpmRegisterByParentId(DetectEngineCtx *de_ctx,
             am->priority = t->priority;
             am->sgh_mpm_context = t->sgh_mpm_context;
             am->next = t->next;
+
+            BuildBasicPname(am->pname, sizeof(am->pname), am->name, (uint16_t)id);
             if (transforms) {
                 memcpy(&am->transforms, transforms, sizeof(*transforms));
+                AppendTransformsToPname(am->pname, sizeof(am->pname), transforms);
             }
             am->id = de_ctx->pkt_mpms_list_cnt++;