size_t size = strlen(s);
char address[1024] = "";
char *rule_var_port = NULL;
- char *temp_rule_var_port = NULL;
int r = 0;
SCLogDebug("head %p, *head %p, negate %d", head, *head, negate);
if (o_set == 1) {
o_set = 0;
} else if (d_set == 1) {
+ char *temp_rule_var_port = NULL,
+ *alloc_rule_var_port = NULL;
+
address[x - 1] = '\0';
rule_var_port = SCRuleVarsGetConfVar(address,
}
temp_rule_var_port = rule_var_port;
if (negate == 1 || n_set == 1) {
- temp_rule_var_port = SCMalloc(strlen(rule_var_port) + 3);
- if (unlikely(temp_rule_var_port == NULL))
+ alloc_rule_var_port = SCMalloc(strlen(rule_var_port) + 3);
+ if (unlikely(alloc_rule_var_port == NULL))
goto error;
- snprintf(temp_rule_var_port, strlen(rule_var_port) + 3,
+ snprintf(alloc_rule_var_port, strlen(rule_var_port) + 3,
"[%s]", rule_var_port);
+ temp_rule_var_port = alloc_rule_var_port;
}
r = DetectPortParseDo(head, nhead, temp_rule_var_port,
(negate + n_set) % 2);//negate? negate: n_set);
d_set = 0;
n_set = 0;
- if (temp_rule_var_port != rule_var_port)
- SCFree(temp_rule_var_port);
+ if (alloc_rule_var_port != NULL)
+ SCFree(alloc_rule_var_port);
} else {
address[x - 1] = '\0';
SCLogDebug("Parsed port from DetectPortParseDo - %s", address);
SCLogDebug("%s", address);
x = 0;
if (d_set == 1) {
+ char *temp_rule_var_port = NULL,
+ *alloc_rule_var_port = NULL;
+
rule_var_port = SCRuleVarsGetConfVar(address,
SC_RULE_VARS_PORT_GROUPS);
if (rule_var_port == NULL)
}
temp_rule_var_port = rule_var_port;
if ((negate + n_set) % 2) {
- temp_rule_var_port = SCMalloc(strlen(rule_var_port) + 3);
- if (unlikely(temp_rule_var_port == NULL))
+ alloc_rule_var_port = SCMalloc(strlen(rule_var_port) + 3);
+ if (unlikely(alloc_rule_var_port == NULL))
goto error;
- snprintf(temp_rule_var_port, strlen(rule_var_port) + 3,
+ snprintf(alloc_rule_var_port, strlen(rule_var_port) + 3,
"[%s]", rule_var_port);
+ temp_rule_var_port = alloc_rule_var_port;
}
r = DetectPortParseDo(head, nhead, temp_rule_var_port,
(negate + n_set) % 2);
goto error;
d_set = 0;
- if (temp_rule_var_port != rule_var_port)
- SCFree(temp_rule_var_port);
+ if (alloc_rule_var_port != NULL)
+ SCFree(alloc_rule_var_port);
} else {
if (!((negate + n_set) % 2)) {
r = DetectPortParseInsertString(head,address);