Don't malloc temp var in SCRuleVarsGetConfVar

pull/676/merge
Victor Julien 11 years ago
parent 941d5a1081
commit f04618c7ad

@ -68,7 +68,7 @@ char *SCRuleVarsGetConfVar(const char *conf_var_name,
SCEnter(); SCEnter();
const char *conf_var_type_name = NULL; 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; char *conf_var_full_name_value = NULL;
if (conf_var_name == NULL) if (conf_var_name == NULL)
@ -79,14 +79,7 @@ char *SCRuleVarsGetConfVar(const char *conf_var_name,
if (conf_var_type_name == NULL) if (conf_var_type_name == NULL)
goto end; goto end;
/* the + 2 is for the '.' and the string termination character '\0' */ if (snprintf(conf_var_full_name, sizeof(conf_var_full_name), "%s.%s",
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",
conf_var_type_name, conf_var_name) < 0) { conf_var_type_name, conf_var_name) < 0) {
goto end; goto end;
} }
@ -101,8 +94,6 @@ char *SCRuleVarsGetConfVar(const char *conf_var_name,
"\"%s\" is \"%s\"", conf_var_name, conf_var_full_name_value); "\"%s\" is \"%s\"", conf_var_name, conf_var_full_name_value);
end: end:
if (conf_var_full_name != NULL)
SCFree(conf_var_full_name);
SCReturnCharPtr(conf_var_full_name_value); SCReturnCharPtr(conf_var_full_name_value);
} }

Loading…
Cancel
Save