From 14981cb2a84951ff1ce4e8d911ebc7cdd9b22755 Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Fri, 17 Jul 2015 16:22:59 -0600 Subject: [PATCH] rule vars: strip leading white space before looking up var. --- src/util-rule-vars.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/util-rule-vars.c b/src/util-rule-vars.c index f060a14af1..f3b5604fbe 100644 --- a/src/util-rule-vars.c +++ b/src/util-rule-vars.c @@ -74,6 +74,11 @@ char *SCRuleVarsGetConfVar(const DetectEngineCtx *de_ctx, if (conf_var_name == NULL) goto end; + + while (conf_var_name[0] != '\0' && isspace(conf_var_name[0])) { + conf_var_name++; + } + (conf_var_name[0] == '$') ? conf_var_name++ : conf_var_name; conf_var_type_name = SCMapEnumValueToName(conf_vars_type, sc_rule_vars_type_map); @@ -214,6 +219,11 @@ int SCRuleVarsPositiveTest01(void) strcmp(SCRuleVarsGetConfVar(NULL,"$AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS), "any") == 0); + /* Test that a leading space is stripped. */ + result &= (SCRuleVarsGetConfVar(NULL," $AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS) != NULL && + strcmp(SCRuleVarsGetConfVar(NULL," $AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS), + "any") == 0); + /* check for port-groups */ result &= (SCRuleVarsGetConfVar(NULL,"$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS) != NULL && strcmp(SCRuleVarsGetConfVar(NULL,"$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS),