]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Don't malloc temp var in SCRuleVarsGetConfVar
authorVictor Julien <victor@inliniac.net>
Mon, 2 Dec 2013 19:52:33 +0000 (20:52 +0100)
committerVictor Julien <victor@inliniac.net>
Mon, 2 Dec 2013 19:52:33 +0000 (20:52 +0100)
src/util-rule-vars.c

index efed9e8e820ee1f8d91a5618a438d364e99e09ab..283d8380922a92306613f15dd514e8ccbb0bfa7d 100644 (file)
@@ -68,7 +68,7 @@ char *SCRuleVarsGetConfVar(const char *conf_var_name,
     SCEnter();
 
     const char *conf_var_type_name = NULL;
-    char *conf_var_full_name = NULL;
+    char conf_var_full_name[1024] = "";
     char *conf_var_full_name_value = NULL;
 
     if (conf_var_name == NULL)
@@ -79,14 +79,7 @@ char *SCRuleVarsGetConfVar(const char *conf_var_name,
     if (conf_var_type_name == NULL)
         goto end;
 
-    /* the + 2 is for the '.' and the string termination character '\0' */
-    conf_var_full_name = (char *)SCMalloc(strlen(conf_var_type_name) +
-                                        strlen(conf_var_name) + 2);
-    if (conf_var_full_name == NULL)
-        goto end;
-
-    if (snprintf(conf_var_full_name,
-                 strlen(conf_var_type_name) + strlen(conf_var_name) + 2, "%s.%s",
+    if (snprintf(conf_var_full_name, sizeof(conf_var_full_name), "%s.%s",
                  conf_var_type_name, conf_var_name) < 0) {
         goto end;
     }
@@ -101,8 +94,6 @@ char *SCRuleVarsGetConfVar(const char *conf_var_name,
                "\"%s\" is \"%s\"", conf_var_name, conf_var_full_name_value);
 
  end:
-    if (conf_var_full_name != NULL)
-        SCFree(conf_var_full_name);
     SCReturnCharPtr(conf_var_full_name_value);
 }