diff --git a/src/detect-cipservice.c b/src/detect-cipservice.c index de4599af75..091e377132 100644 --- a/src/detect-cipservice.c +++ b/src/detect-cipservice.c @@ -101,7 +101,7 @@ static DetectCipServiceData *DetectCipServiceParse(const char *rulestrc) char* token; char *save; int var; - int input[3]; + int input[3] = { 0, 0, 0 }; int i = 0; token = strtok_r(rulestr, delims, &save); @@ -158,6 +158,11 @@ static DetectCipServiceData *DetectCipServiceParse(const char *rulestrc) token = strtok_r(NULL, delims, &save); } + if (i == 0) { + SCLogError(SC_ERR_INVALID_SIGNATURE, "no tokens found"); + goto error; + } + cipserviced->cipservice = input[0]; cipserviced->cipclass = input[1]; cipserviced->cipattribute = input[2];