]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Don't alloc for hash lookup in SCClassConfGetClasstype
authorVictor Julien <victor@inliniac.net>
Mon, 2 Dec 2013 20:11:02 +0000 (21:11 +0100)
committerVictor Julien <victor@inliniac.net>
Mon, 2 Dec 2013 20:40:39 +0000 (21:40 +0100)
src/util-classification-config.c

index 72cfadaaa00db16008be3cd2a09d53c6e8328f8b..3a0d62a8cb4a87b208ac4ae5af3be11153372d4a 100644 (file)
@@ -543,14 +543,15 @@ void SCClassConfLoadClassficationConfigFile(DetectEngineCtx *de_ctx)
 SCClassConfClasstype *SCClassConfGetClasstype(const char *ct_name,
                                               DetectEngineCtx *de_ctx)
 {
-    SCClassConfClasstype *ct_info = SCClassConfAllocClasstype(0, ct_name, NULL,
-                                                              0);
-    if (ct_info == NULL)
-        return NULL;
-    SCClassConfClasstype *lookup_ct_info = HashTableLookup(de_ctx->class_conf_ht,
-                                                           ct_info, 0);
+    char name[strlen(ct_name) + 1];
+    size_t s;
+    for (s = 0; s < strlen(ct_name); s++)
+        name[s] = tolower((unsigned char)ct_name[s]);
+    name[s] = '\0';
 
-    SCClassConfDeAllocClasstype(ct_info);
+    SCClassConfClasstype ct_lookup = {0, name, NULL, 0 };
+    SCClassConfClasstype *lookup_ct_info = HashTableLookup(de_ctx->class_conf_ht,
+                                                           &ct_lookup, 0);
     return lookup_ct_info;
 }