detect/dataset: fix space condition in rule lang

If there is a space following a keyword that does not expect a value,
the rule fails to load due to improper value evaluation.
e.g. Space after "set" command
alert http any any -> any any (http.user_agent; dataset:set  ,ua-seen,type string,save datasets.csv; sid:1;)

gives error
[ERRCODE: SC_ERR_UNKNOWN_VALUE(129)] - dataset action "" is not supported.

Fix this by handling values correctly for such cases.
pull/7210/head
Shivani Bhardwaj 3 years ago committed by Victor Julien
parent 7366396011
commit 6d2a2a0731

@ -129,13 +129,13 @@ static int DetectDatasetParse(const char *str, char *cmd, int cmd_len, char *nam
}
if (!cmd_set) {
if (val) {
if (val && strlen(val) != 0) {
return -1;
}
strlcpy(cmd, key, cmd_len);
cmd_set = true;
} else if (!name_set) {
if (val) {
if (val && strlen(val) != 0) {
return -1;
}
strlcpy(name, key, name_len);

Loading…
Cancel
Save