|
|
|
@ -158,8 +158,14 @@ void SigMatchReplaceContent(Signature *s, SigMatch *old, SigMatch *new) {
|
|
|
|
if (m == old) {
|
|
|
|
if (m == old) {
|
|
|
|
if (m == s->pmatch) {
|
|
|
|
if (m == s->pmatch) {
|
|
|
|
s->pmatch = m->next;
|
|
|
|
s->pmatch = m->next;
|
|
|
|
|
|
|
|
if (m->next != NULL) {
|
|
|
|
|
|
|
|
m->next->prev = NULL;
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
pm->next = m->next;
|
|
|
|
pm->next = m->next;
|
|
|
|
|
|
|
|
if (m->next != NULL) {
|
|
|
|
|
|
|
|
m->next->prev = pm;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (m == s->pmatch_tail) {
|
|
|
|
if (m == s->pmatch_tail) {
|
|
|
|
@ -172,6 +178,7 @@ void SigMatchReplaceContent(Signature *s, SigMatch *old, SigMatch *new) {
|
|
|
|
pm = m;
|
|
|
|
pm = m;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* finally append the "new" sig match to the app layer list */
|
|
|
|
SigMatchAppendAppLayer(s, new);
|
|
|
|
SigMatchAppendAppLayer(s, new);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|