From 014f62247a66594f3c129b11ca5fbb3503c069c1 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Tue, 21 Dec 2010 13:08:36 +0100 Subject: [PATCH] Another batch of clang fixes. Nothing really serious. Includes a couple of fixes for broken fixes from yesterday. --- src/detect-bytejump.c | 4 +- src/detect-content.c | 8 +- src/detect-csum.c | 9 +- src/detect-depth.c | 2 + src/detect-distance.c | 2 + src/detect-engine-address.c | 3 +- src/detect-engine-dcepayload.c | 1 - src/detect-fast-pattern.c | 186 ++++++++++++++++----------------- src/detect-flow.c | 2 +- src/detect-icode.c | 2 +- src/detect-ipproto.c | 2 +- src/detect-isdataat.c | 3 +- src/detect-itype.c | 2 +- src/detect-msg.c | 4 + src/detect-offset.c | 2 + src/detect-rpc.c | 2 +- src/detect-stream_size.c | 61 +++++------ src/detect-window.c | 2 +- src/detect-within.c | 14 +-- 19 files changed, 157 insertions(+), 154 deletions(-) diff --git a/src/detect-bytejump.c b/src/detect-bytejump.c index 29aa17cd3d..2019cdb384 100644 --- a/src/detect-bytejump.c +++ b/src/detect-bytejump.c @@ -111,7 +111,7 @@ int DetectBytejumpDoMatch(DetectEngineThreadCtx *det_ctx, Signature *s, DetectBytejumpData *data = (DetectBytejumpData *)m->ctx; uint8_t *ptr = NULL; - uint8_t *jumpptr = ptr; + uint8_t *jumpptr = NULL; int32_t len = 0; uint64_t val = 0; int extbytes; @@ -219,7 +219,7 @@ int DetectBytejumpMatch(ThreadVars *t, DetectEngineThreadCtx *det_ctx, { DetectBytejumpData *data = (DetectBytejumpData *)m->ctx; uint8_t *ptr = NULL; - uint8_t *jumpptr = ptr; + uint8_t *jumpptr = NULL; uint16_t len = 0; uint64_t val = 0; int extbytes; diff --git a/src/detect-content.c b/src/detect-content.c index 2f53372060..cd6d25d7ef 100644 --- a/src/detect-content.c +++ b/src/detect-content.c @@ -1530,13 +1530,13 @@ int DetectContentParseTest24(void) "alert udp any any -> any any " "(msg:\"test\"; content: !\"boo\"; sid:238012;)"); if (de_ctx->sig_list == NULL) { - printf("de_ctx->sig_list == NULL\n"); + printf("de_ctx->sig_list == NULL: "); result = 0; goto end; } - if (s->sm_lists_tail[DETECT_SM_LIST_PMATCH] == NULL && s->sm_lists_tail[DETECT_SM_LIST_PMATCH]->ctx) { - printf("de_ctx->pmatch_tail == NULL && de_ctx->pmatch_tail->ctx\n"); + if (s->sm_lists_tail[DETECT_SM_LIST_PMATCH] == NULL || s->sm_lists_tail[DETECT_SM_LIST_PMATCH]->ctx == NULL) { + printf("de_ctx->pmatch_tail == NULL || de_ctx->pmatch_tail->ctx == NULL: "); result = 0; goto end; } @@ -1544,7 +1544,7 @@ int DetectContentParseTest24(void) cd = (DetectContentData *)s->sm_lists_tail[DETECT_SM_LIST_PMATCH]->ctx; result = (strncmp("boo", (char *)cd->content, cd->content_len) == 0); - end: +end: SigGroupCleanup(de_ctx); SigCleanSignatures(de_ctx); DetectEngineCtxFree(de_ctx); diff --git a/src/detect-csum.c b/src/detect-csum.c index 9ef4b230e3..652afc4ed5 100644 --- a/src/detect-csum.c +++ b/src/detect-csum.c @@ -186,12 +186,15 @@ static int DetectCsumParseArg(const char *key, DetectCsumData *cd) if (key[0] == '\"' && key[strlen(key) - 1] == '\"') { str = SCStrdup(key + 1); + if (str == NULL) { + goto error; + } str[strlen(key) - 2] = '\0'; } else { str = SCStrdup(key); - } - if (str == NULL) { - goto error; + if (str == NULL) { + goto error; + } } if (strcasecmp(str, DETECT_CSUM_VALID) == 0 || diff --git a/src/detect-depth.c b/src/detect-depth.c index 50ad41da16..27d7b91d96 100644 --- a/src/detect-depth.c +++ b/src/detect-depth.c @@ -62,6 +62,8 @@ static int DetectDepthSetup (DetectEngineCtx *de_ctx, Signature *s, char *depths /* strip "'s */ if (depthstr[0] == '\"' && depthstr[strlen(depthstr) - 1] == '\"') { str = SCStrdup(depthstr + 1); + if (str == NULL) + goto error; str[strlen(depthstr) - 2] = '\0'; dubbed = 1; } diff --git a/src/detect-distance.c b/src/detect-distance.c index e25c18f8ec..9625534444 100644 --- a/src/detect-distance.c +++ b/src/detect-distance.c @@ -68,6 +68,8 @@ static int DetectDistanceSetup (DetectEngineCtx *de_ctx, Signature *s, /* strip "'s */ if (distancestr[0] == '\"' && distancestr[strlen(distancestr) - 1] == '\"') { str = SCStrdup(distancestr + 1); + if (str == NULL) + goto error; str[strlen(distancestr) - 2] = '\0'; dubbed = 1; } diff --git a/src/detect-engine-address.c b/src/detect-engine-address.c index dfa12842e9..af2703e372 100644 --- a/src/detect-engine-address.c +++ b/src/detect-engine-address.c @@ -389,7 +389,6 @@ int DetectAddressInsert(DetectEngineCtx *de_ctx, DetectAddressHead *gh, DetectAddress *new) { DetectAddress *head = NULL; - DetectPort *port = new->port; DetectAddress *cur = NULL; DetectAddress *c = NULL; int r = 0; @@ -415,7 +414,7 @@ int DetectAddressInsert(DetectEngineCtx *de_ctx, DetectAddressHead *gh, if (r == ADDRESS_EQ) { /* exact overlap/match */ if (cur != new) { - port = new->port; + DetectPort *port = new->port; for ( ; port != NULL; port = port->next) DetectPortInsertCopy(de_ctx, &cur->port, port); SigGroupHeadCopySigs(de_ctx, new->sh, &cur->sh); diff --git a/src/detect-engine-dcepayload.c b/src/detect-engine-dcepayload.c index a64aedc223..287f0cd0fa 100644 --- a/src/detect-engine-dcepayload.c +++ b/src/detect-engine-dcepayload.c @@ -9057,7 +9057,6 @@ int DcePayloadParseTest34(void) goto end; } bd = (DetectBytejumpData *)sm->ctx; - bd = (DetectBytejumpData *)sm->ctx; if (bd->flags & DETECT_BYTEJUMP_BEGIN || bd->flags & DETECT_BYTEJUMP_LITTLE || bd->flags & DETECT_BYTEJUMP_BIG || diff --git a/src/detect-fast-pattern.c b/src/detect-fast-pattern.c index 8ea8354730..79c349e6e6 100644 --- a/src/detect-fast-pattern.c +++ b/src/detect-fast-pattern.c @@ -2185,7 +2185,7 @@ int DetectFastPatternTest56(void) if (sm != NULL && sm->type == DETECT_URICONTENT) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -2221,7 +2221,7 @@ int DetectFastPatternTest57(void) if (sm != NULL && sm->type == DETECT_URICONTENT) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -2451,7 +2451,7 @@ int DetectFastPatternTest67(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -2481,7 +2481,7 @@ int DetectFastPatternTest68(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -2511,7 +2511,7 @@ int DetectFastPatternTest69(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -2541,7 +2541,7 @@ int DetectFastPatternTest70(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -2572,7 +2572,7 @@ int DetectFastPatternTest71(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -2690,7 +2690,7 @@ int DetectFastPatternTest76(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -2720,7 +2720,7 @@ int DetectFastPatternTest77(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -2750,7 +2750,7 @@ int DetectFastPatternTest78(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -2780,7 +2780,7 @@ int DetectFastPatternTest79(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -2810,7 +2810,7 @@ int DetectFastPatternTest80(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -2840,7 +2840,7 @@ int DetectFastPatternTest81(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -2870,7 +2870,7 @@ int DetectFastPatternTest82(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -2900,7 +2900,7 @@ int DetectFastPatternTest83(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -2930,7 +2930,7 @@ int DetectFastPatternTest84(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3030,7 +3030,7 @@ int DetectFastPatternTest88(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3149,7 +3149,7 @@ int DetectFastPatternTest93(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3266,7 +3266,7 @@ int DetectFastPatternTest96(void) if (sm != NULL && sm->type == DETECT_URICONTENT) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -3302,7 +3302,7 @@ int DetectFastPatternTest97(void) if (sm != NULL && sm->type == DETECT_URICONTENT) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3532,7 +3532,7 @@ int DetectFastPatternTest107(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -3562,7 +3562,7 @@ int DetectFastPatternTest108(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -3592,7 +3592,7 @@ int DetectFastPatternTest109(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -3622,7 +3622,7 @@ int DetectFastPatternTest110(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -3653,7 +3653,7 @@ int DetectFastPatternTest111(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -3771,7 +3771,7 @@ int DetectFastPatternTest116(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3801,7 +3801,7 @@ int DetectFastPatternTest117(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3831,7 +3831,7 @@ int DetectFastPatternTest118(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3861,7 +3861,7 @@ int DetectFastPatternTest119(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3891,7 +3891,7 @@ int DetectFastPatternTest120(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3921,7 +3921,7 @@ int DetectFastPatternTest121(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3951,7 +3951,7 @@ int DetectFastPatternTest122(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -3981,7 +3981,7 @@ int DetectFastPatternTest123(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4011,7 +4011,7 @@ int DetectFastPatternTest124(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_UMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4111,7 +4111,7 @@ int DetectFastPatternTest128(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4230,7 +4230,7 @@ int DetectFastPatternTest133(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4261,7 +4261,7 @@ int DetectFastPatternTest134(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4369,7 +4369,7 @@ int DetectFastPatternTest137(void) if (sm != NULL) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -4405,7 +4405,7 @@ int DetectFastPatternTest138(void) if (sm != NULL) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4635,7 +4635,7 @@ int DetectFastPatternTest148(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -4665,7 +4665,7 @@ int DetectFastPatternTest149(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -4695,7 +4695,7 @@ int DetectFastPatternTest150(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -4725,7 +4725,7 @@ int DetectFastPatternTest151(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -4756,7 +4756,7 @@ int DetectFastPatternTest152(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -4874,7 +4874,7 @@ int DetectFastPatternTest157(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4904,7 +4904,7 @@ int DetectFastPatternTest158(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4934,7 +4934,7 @@ int DetectFastPatternTest159(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4964,7 +4964,7 @@ int DetectFastPatternTest160(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -4994,7 +4994,7 @@ int DetectFastPatternTest161(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -5024,7 +5024,7 @@ int DetectFastPatternTest162(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -5054,7 +5054,7 @@ int DetectFastPatternTest163(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -5084,7 +5084,7 @@ int DetectFastPatternTest164(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -5114,7 +5114,7 @@ int DetectFastPatternTest165(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HCBDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -5214,7 +5214,7 @@ int DetectFastPatternTest169(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -5333,7 +5333,7 @@ int DetectFastPatternTest174(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -5456,7 +5456,7 @@ int DetectFastPatternTest179(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -5564,7 +5564,7 @@ int DetectFastPatternTest182(void) if (sm != NULL) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -5600,7 +5600,7 @@ int DetectFastPatternTest183(void) if (sm != NULL) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -5830,7 +5830,7 @@ int DetectFastPatternTest193(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -5860,7 +5860,7 @@ int DetectFastPatternTest194(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -5890,7 +5890,7 @@ int DetectFastPatternTest195(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -5920,7 +5920,7 @@ int DetectFastPatternTest196(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -5951,7 +5951,7 @@ int DetectFastPatternTest197(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -6069,7 +6069,7 @@ int DetectFastPatternTest202(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6099,7 +6099,7 @@ int DetectFastPatternTest203(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6129,7 +6129,7 @@ int DetectFastPatternTest204(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6159,7 +6159,7 @@ int DetectFastPatternTest205(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6189,7 +6189,7 @@ int DetectFastPatternTest206(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6219,7 +6219,7 @@ int DetectFastPatternTest207(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6249,7 +6249,7 @@ int DetectFastPatternTest208(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6279,7 +6279,7 @@ int DetectFastPatternTest209(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6309,7 +6309,7 @@ int DetectFastPatternTest210(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6409,7 +6409,7 @@ int DetectFastPatternTest214(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6528,7 +6528,7 @@ int DetectFastPatternTest219(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6575,7 +6575,7 @@ int DetectFastPatternTest220(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6683,7 +6683,7 @@ int DetectFastPatternTest223(void) if (sm != NULL) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -6719,7 +6719,7 @@ int DetectFastPatternTest224(void) if (sm != NULL) { if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -6949,7 +6949,7 @@ int DetectFastPatternTest234(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -6979,7 +6979,7 @@ int DetectFastPatternTest235(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -7009,7 +7009,7 @@ int DetectFastPatternTest236(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -7039,7 +7039,7 @@ int DetectFastPatternTest237(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -7070,7 +7070,7 @@ int DetectFastPatternTest238(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - !(ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && + !(ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP) && ud->fp_chop_offset == 0 && ud->fp_chop_len == 0) { result = 1; @@ -7188,7 +7188,7 @@ int DetectFastPatternTest243(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7218,7 +7218,7 @@ int DetectFastPatternTest244(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7248,7 +7248,7 @@ int DetectFastPatternTest245(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7278,7 +7278,7 @@ int DetectFastPatternTest246(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7308,7 +7308,7 @@ int DetectFastPatternTest247(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->prev->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7338,7 +7338,7 @@ int DetectFastPatternTest248(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7368,7 +7368,7 @@ int DetectFastPatternTest249(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7398,7 +7398,7 @@ int DetectFastPatternTest250(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7428,7 +7428,7 @@ int DetectFastPatternTest251(void) DetectContentData *ud = de_ctx->sig_list->sm_lists_tail[DETECT_SM_LIST_HRHDMATCH]->ctx; if (ud->flags & DETECT_CONTENT_FAST_PATTERN && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7528,7 +7528,7 @@ int DetectFastPatternTest255(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; @@ -7647,7 +7647,7 @@ int DetectFastPatternTest260(void) if (ud->flags & DETECT_CONTENT_FAST_PATTERN && ud->flags & DETECT_CONTENT_NEGATED && !(ud->flags & DETECT_CONTENT_FAST_PATTERN_ONLY) && - ud->flags & ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && + ud->flags & DETECT_CONTENT_FAST_PATTERN_CHOP && ud->fp_chop_offset == 3 && ud->fp_chop_len == 4) { result = 1; diff --git a/src/detect-flow.c b/src/detect-flow.c index 5d96a7407c..1927cb3848 100644 --- a/src/detect-flow.c +++ b/src/detect-flow.c @@ -273,7 +273,7 @@ DetectFlowData *DetectFlowParse (char *flowstr) error: /* ret can be higher than 3 */ - for (i = 0; i < (ret - 1) && i < 4; i++){ + for (i = 0; i < (ret - 1) && i < 3; i++){ if (args[i] != NULL) SCFree(args[i]); } diff --git a/src/detect-icode.c b/src/detect-icode.c index 4c1747d343..7804351f15 100644 --- a/src/detect-icode.c +++ b/src/detect-icode.c @@ -203,7 +203,7 @@ DetectICodeData *DetectICodeParse(char *icodestr) { return icd; error: - for (i = 0; i < (ret-1) && i < 4; i++) { + for (i = 0; i < (ret-1) && i < 3; i++) { if (args[i] != NULL) SCFree(args[i]); } diff --git a/src/detect-ipproto.c b/src/detect-ipproto.c index cd53f77cec..fe1e997bd0 100644 --- a/src/detect-ipproto.c +++ b/src/detect-ipproto.c @@ -160,7 +160,7 @@ static DetectIPProtoData *DetectIPProtoParse(const char *optstr) return data; error: - for (i = 0; i < (ret - 1) && i < 3; i++){ + for (i = 0; i < (ret - 1) && i < 2; i++){ if (args[i] != NULL) SCFree(args[i]); } diff --git a/src/detect-isdataat.c b/src/detect-isdataat.c index 4f20e85edb..a3cba567a7 100644 --- a/src/detect-isdataat.c +++ b/src/detect-isdataat.c @@ -210,8 +210,7 @@ DetectIsdataatData *DetectIsdataatParse (char *isdataatstr) } error: - - for (i = 0; i < (ret -1) && i < 4; i++){ + for (i = 0; i < (ret -1) && i < 3; i++){ if (args[i] != NULL) SCFree(args[i]); } diff --git a/src/detect-itype.c b/src/detect-itype.c index 18063385b7..494c8454d5 100644 --- a/src/detect-itype.c +++ b/src/detect-itype.c @@ -203,7 +203,7 @@ DetectITypeData *DetectITypeParse(char *itypestr) { return itd; error: - for (i = 0; i < (ret-1) && i < 4; i++) { + for (i = 0; i < (ret-1) && i < 3; i++) { if (args[i] != NULL) SCFree(args[i]); } diff --git a/src/detect-msg.c b/src/detect-msg.c index a77f7f361d..c3254fc79b 100644 --- a/src/detect-msg.c +++ b/src/detect-msg.c @@ -55,10 +55,14 @@ static int DetectMsgSetup (DetectEngineCtx *de_ctx, Signature *s, char *msgstr) /* strip "'s */ if (msgstr[0] == '\"' && msgstr[strlen(msgstr)-1] == '\"') { str = SCStrdup(msgstr+1); + if (str == NULL) + goto error; str[strlen(msgstr)-2] = '\0'; } else if (msgstr[1] == '\"' && msgstr[strlen(msgstr)-1] == '\"') { /* XXX do this parsing in a better way */ str = SCStrdup(msgstr+2); + if (str == NULL) + goto error; str[strlen(msgstr)-3] = '\0'; //printf("DetectMsgSetup: format hack applied: \'%s\'\n", str); } else { diff --git a/src/detect-offset.c b/src/detect-offset.c index 4bc90daacc..9b92081628 100644 --- a/src/detect-offset.c +++ b/src/detect-offset.c @@ -59,6 +59,8 @@ int DetectOffsetSetup (DetectEngineCtx *de_ctx, Signature *s, char *offsetstr) /* strip "'s */ if (offsetstr[0] == '\"' && offsetstr[strlen(offsetstr)-1] == '\"') { str = SCStrdup(offsetstr+1); + if (str == NULL) + goto error; str[strlen(offsetstr)-2] = '\0'; dubbed = 1; } diff --git a/src/detect-rpc.c b/src/detect-rpc.c index 76175c4d46..f6277919d9 100644 --- a/src/detect-rpc.c +++ b/src/detect-rpc.c @@ -249,7 +249,7 @@ DetectRpcData *DetectRpcParse (char *rpcstr) return rd; error: - for (i = 0; i < (ret -1) && i < 4; i++){ + for (i = 0; i < (ret -1) && i < 3; i++){ if (args[i] != NULL) SCFree(args[i]); } diff --git a/src/detect-stream_size.c b/src/detect-stream_size.c index ea3ff050b8..f5f9232116 100644 --- a/src/detect-stream_size.c +++ b/src/detect-stream_size.c @@ -239,12 +239,18 @@ DetectStreamSizeData *DetectStreamSizeParse (char *streamstr) { if (strlen(mode) == 0) goto error; - if(mode[0] == '<') sd->mode = DETECTSSIZE_LT; - else if (strcmp("<=", mode) == 0) sd->mode = DETECTSSIZE_LEQ; - else if (mode[0] == '>') sd->mode = DETECTSSIZE_GT; - else if (strcmp(">=", mode)) sd->mode = DETECTSSIZE_GEQ; - else if (strcmp("!=", mode)) sd->mode = DETECTSSIZE_NEQ; - else if (mode[0] == '=') sd->mode = DETECTSSIZE_EQ; + if (mode[0] == '<') + sd->mode = DETECTSSIZE_LT; + else if (strcmp("<=", mode) == 0) + sd->mode = DETECTSSIZE_LEQ; + else if (mode[0] == '>') + sd->mode = DETECTSSIZE_GT; + else if (strcmp(">=", mode) == 0) + sd->mode = DETECTSSIZE_GEQ; + else if (strcmp("!=", mode) == 0) + sd->mode = DETECTSSIZE_NEQ; + else if (mode[0] == '=') + sd->mode = DETECTSSIZE_EQ; else { SCLogError(SC_ERR_INVALID_OPERATOR, "Invalid operator"); goto error; @@ -255,49 +261,34 @@ DetectStreamSizeData *DetectStreamSizeParse (char *streamstr) { /* inspect our options and set the flags */ if (strcmp(arg, "server") == 0) { - if (sd->flags & STREAM_SIZE_SERVER) { - SCLogDebug("DetectStreamSizeParse error STREAM_SIZE_SERVER flag is already set "); - goto error; - } sd->flags |= STREAM_SIZE_SERVER; - } else if (strcmp(arg, "client") == 0) { - - if (sd->flags & STREAM_SIZE_CLIENT) { - SCLogDebug("DetectStreamSizeParse error STREAM_SIZE_CLIENT flag is already set "); - goto error; - } sd->flags |= STREAM_SIZE_CLIENT; - } else if ((strcmp(arg, "both") == 0)) { - - if (sd->flags & STREAM_SIZE_SERVER || sd->flags & STREAM_SIZE_CLIENT) { - SCLogDebug("DetectStreamSizeParse error STREAM_SIZE_SERVER or STREAM_SIZE_CLIENT flag is already set "); - goto error; - } sd->flags |= STREAM_SIZE_BOTH; } else if (strcmp(arg, "either") == 0) { - - if (sd->flags & STREAM_SIZE_SERVER || sd->flags & STREAM_SIZE_CLIENT) { - SCLogDebug("DetectStreamSizeParse error STREAM_SIZE_SERVER or STREAM_SIZE_CLIENT flag is already set "); - goto error; - } sd->flags |= STREAM_SIZE_EITHER; - } else { goto error; } - if (mode != NULL) SCFree(mode); - if (arg != NULL) SCFree(arg); - if (value != NULL) SCFree(value); + if (mode != NULL) + SCFree(mode); + if (arg != NULL) + SCFree(arg); + if (value != NULL) + SCFree(value); return sd; error: - if (mode != NULL) SCFree(mode); - if (arg != NULL) SCFree(arg); - if (value != NULL) SCFree(value); - if (sd != NULL) DetectStreamSizeFree(sd); + if (mode != NULL) + SCFree(mode); + if (arg != NULL) + SCFree(arg); + if (value != NULL) + SCFree(value); + if (sd != NULL) + DetectStreamSizeFree(sd); return NULL; } diff --git a/src/detect-window.c b/src/detect-window.c index a95a8b7276..3f6fe7245d 100644 --- a/src/detect-window.c +++ b/src/detect-window.c @@ -178,7 +178,7 @@ DetectWindowData *DetectWindowParse(char *windowstr) { return wd; error: - for (i = 0; i < (ret -1) && i < 4; i++){ + for (i = 0; i < (ret -1) && i < 3; i++){ if (args[i] != NULL) SCFree(args[i]); } diff --git a/src/detect-within.c b/src/detect-within.c index 3efbdba07e..f280c79c6b 100644 --- a/src/detect-within.c +++ b/src/detect-within.c @@ -71,6 +71,8 @@ static int DetectWithinSetup (DetectEngineCtx *de_ctx, Signature *s, char *withi /* strip "'s */ if (withinstr[0] == '\"' && withinstr[strlen(withinstr)-1] == '\"') { str = SCStrdup(withinstr+1); + if (str == NULL) + goto error; str[strlen(withinstr)-2] = '\0'; dubbed = 1; } @@ -395,8 +397,8 @@ static int DetectWithinSetup (DetectEngineCtx *de_ctx, Signature *s, char *withi if (cd->within < (int32_t)cd->content_len) { SCLogError(SC_ERR_WITHIN_INVALID, "within argument \"%"PRIi32"\" is " "less than the content length \"%"PRIu32"\" which is invalid, since " - "this will never match. Invalidating signature", ud->within, - ud->content_len); + "this will never match. Invalidating signature", cd->within, + cd->content_len); goto error; } @@ -464,8 +466,8 @@ static int DetectWithinSetup (DetectEngineCtx *de_ctx, Signature *s, char *withi if (cd->within < (int32_t)cd->content_len) { SCLogError(SC_ERR_WITHIN_INVALID, "within argument \"%"PRIi32"\" is " "less than the content length \"%"PRIu32"\" which is invalid, since " - "this will never match. Invalidating signature", ud->within, - ud->content_len); + "this will never match. Invalidating signature", cd->within, + cd->content_len); goto error; } cd->flags |= DETECT_CONTENT_WITHIN; @@ -518,8 +520,8 @@ static int DetectWithinSetup (DetectEngineCtx *de_ctx, Signature *s, char *withi if (cd->within < (int32_t)cd->content_len) { SCLogError(SC_ERR_WITHIN_INVALID, "within argument \"%"PRIi32"\" is " "less than the content length \"%"PRIu32"\" which is invalid, since " - "this will never match. Invalidating signature", ud->within, - ud->content_len); + "this will never match. Invalidating signature", cd->within, + cd->content_len); goto error; } cd->flags |= DETECT_CONTENT_WITHIN;