Bug #377 » 0001-Fixed-duplicate-signature-check.patch
src/detect-parse.c | ||
---|---|---|
SigDuplWrapper *sw1 = (SigDuplWrapper *)data1;
|
||
SigDuplWrapper *sw2 = (SigDuplWrapper *)data2;
|
||
if (sw1 == NULL || sw2 == NULL)
|
||
if (sw1 == NULL || sw2 == NULL ||
|
||
sw1->s == NULL || sw2->s == NULL)
|
||
return 0;
|
||
|
||
/* sid and gid match required */
|
||
if (sw1->s->id == sw2->s->id && sw1->s->gid == sw2->s->gid) return 1;
|
||
if (sw1->s->id != sw2->s->id)
|
||
return 0;
|
||
/* be careful all you non-related signatures with the same sid and no msg.
|
||
* We treat you all as the same signature */
|
||
if ((sw1->s->msg == NULL) && (sw2->s->msg == NULL))
|
||
return 1;
|
||
if ((sw1->s->msg == NULL) || (sw2->s->msg == NULL))
|
||
return 0;
|
||
if (strlen(sw1->s->msg) != strlen(sw2->s->msg))
|
||
return 0;
|
||
if (strcmp(sw1->s->msg, sw2->s->msg) != 0)
|
||
return 0;
|
||
return 1;
|
||
return 0;
|
||
}
|
||
/**
|
||
... | ... | |
DetectParseDupSigCompareFunc,
|
||
DetectParseDupSigFreeFunc);
|
||
if (de_ctx->dup_sig_hash_table == NULL)
|
||
goto error;
|
||
return -1;
|
||
return 0;
|
||
error:
|
||
return -1;
|
||
}
|
||
/**
|
- « Previous
- 1
- 2
- Next »