Fix missing use of MpmAddPid()

Found by Victor using ASAN. One place was not checking to resize the
pid array before adding a new PID.
pull/1295/head
Ken Steele 11 years ago committed by Victor Julien
parent eaac9c8d93
commit 77269fbb2c

@ -1377,8 +1377,7 @@ uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
} else {
pmq->pattern_id_bitarray[(lower_pid) / 8] |= (1 << ((lower_pid) % 8));
bitarray[(lower_pid) / 8] |= (1 << ((lower_pid) % 8));
pmq->pattern_id_array[pmq->pattern_id_array_cnt++] = lower_pid;
MpmAddPid(pmq, lower_pid);
MpmAddSids(pmq, pid_pat_list[lower_pid].sids, pid_pat_list[lower_pid].sids_size);
}
matches++;
@ -1388,8 +1387,7 @@ uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
} else {
pmq->pattern_id_bitarray[(pids[k]) / 8] |= (1 << ((pids[k]) % 8));
bitarray[pids[k] / 8] |= (1 << (pids[k] % 8));
pmq->pattern_id_array[pmq->pattern_id_array_cnt++] = pids[k];
MpmAddPid(pmq, pids[k]);
MpmAddSids(pmq, pid_pat_list[pids[k]].sids, pid_pat_list[pids[k]].sids_size);
}
matches++;

Loading…
Cancel
Save