mirror of
https://github.com/OISF/suricata.git
synced 2026-10-11 22:09:53 +00:00
util/mpm-ac-ks: preallocate on the heap rather than stack
Ticket: 8001 As the the size of the allocation can get large
This commit is contained in:
committed by
Victor Julien
parent
94a3e03903
commit
dc5185e355
@@ -48,8 +48,8 @@ uint32_t FUNC_NAME(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
|
||||
uint32_t i = 0;
|
||||
int matches = 0;
|
||||
|
||||
uint8_t mpm_bitarray[ctx->mpm_bitarray_size];
|
||||
memset(mpm_bitarray, 0, ctx->mpm_bitarray_size);
|
||||
uint8_t *mpm_bitarray = (uint8_t *)mpm_thread_ctx->ctx;
|
||||
memset(mpm_bitarray, 0, mpm_thread_ctx->memory_size);
|
||||
|
||||
const uint8_t* restrict xlate = ctx->translate_table;
|
||||
STYPE *state_table = (STYPE*)ctx->state_table;
|
||||
|
||||
+87
-2
@@ -1138,8 +1138,8 @@ uint32_t SCACTileSearchLarge(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thr
|
||||
uint32_t i = 0;
|
||||
int matches = 0;
|
||||
|
||||
uint8_t mpm_bitarray[ctx->mpm_bitarray_size];
|
||||
memset(mpm_bitarray, 0, ctx->mpm_bitarray_size);
|
||||
uint8_t *mpm_bitarray = (uint8_t *)mpm_thread_ctx->ctx;
|
||||
memset(mpm_bitarray, 0, mpm_thread_ctx->memory_size);
|
||||
|
||||
const uint8_t* restrict xlate = ctx->translate_table;
|
||||
register int state = 0;
|
||||
@@ -1337,6 +1337,33 @@ void SCACTilePrintInfo(MpmCtx *mpm_ctx)
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Init the mpm thread context.
|
||||
*
|
||||
* \param mpm_ctx Pointer to the mpm context.
|
||||
* \param mpm_thread_ctx Pointer to the mpm thread context.
|
||||
*/
|
||||
static void SCACTileInitThreadCtx(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx)
|
||||
{
|
||||
uint32_t size = (mpm_ctx->pattern_cnt + 7) / 8;
|
||||
|
||||
uint8_t *bitarray = SCCalloc(size, sizeof(uint8_t));
|
||||
if (bitarray == NULL) {
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
mpm_thread_ctx->ctx = bitarray;
|
||||
mpm_thread_ctx->memory_cnt = 1;
|
||||
mpm_thread_ctx->memory_size = size;
|
||||
}
|
||||
|
||||
static void SCACTileDestroyThreadCtx(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx)
|
||||
{
|
||||
mpm_thread_ctx->memory_cnt = 0;
|
||||
mpm_thread_ctx->memory_size = 0;
|
||||
SCFree(mpm_thread_ctx->ctx);
|
||||
mpm_thread_ctx->ctx = NULL;
|
||||
}
|
||||
|
||||
/************************** Mpm Registration ***************************/
|
||||
|
||||
/**
|
||||
@@ -1357,6 +1384,8 @@ void MpmACTileRegister(void)
|
||||
mpm_table[MPM_AC_KS].CacheRuleset = NULL;
|
||||
mpm_table[MPM_AC_KS].Search = SCACTileSearch;
|
||||
mpm_table[MPM_AC_KS].PrintCtx = SCACTilePrintInfo;
|
||||
mpm_table[MPM_AC_KS].InitThreadCtx = SCACTileInitThreadCtx;
|
||||
mpm_table[MPM_AC_KS].DestroyThreadCtx = SCACTileDestroyThreadCtx;
|
||||
#ifdef UNITTESTS
|
||||
mpm_table[MPM_AC_KS].RegisterUnittests = SCACTileRegisterTests;
|
||||
#endif
|
||||
@@ -1385,6 +1414,7 @@ static int SCACTileTest01(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghjiklmnopqrstuvwxyz";
|
||||
|
||||
@@ -1397,6 +1427,7 @@ static int SCACTileTest01(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1417,6 +1448,7 @@ static int SCACTileTest02(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghjiklmnopqrstuvwxyz";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1428,6 +1460,7 @@ static int SCACTileTest02(void)
|
||||
printf("0 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1452,6 +1485,7 @@ static int SCACTileTest03(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghjiklmnopqrstuvwxyz";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1463,6 +1497,7 @@ static int SCACTileTest03(void)
|
||||
printf("3 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1484,6 +1519,7 @@ static int SCACTileTest04(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghjiklmnopqrstuvwxyz";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1495,6 +1531,7 @@ static int SCACTileTest04(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1516,6 +1553,7 @@ static int SCACTileTest05(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghjiklmnopqrstuvwxyz";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1527,6 +1565,7 @@ static int SCACTileTest05(void)
|
||||
printf("3 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1546,6 +1585,7 @@ static int SCACTileTest06(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcd";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1557,6 +1597,7 @@ static int SCACTileTest06(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1588,6 +1629,7 @@ static int SCACTileTest07(void)
|
||||
/* total matches: 135: 6 unique */
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1595,6 +1637,7 @@ static int SCACTileTest07(void)
|
||||
FAIL_IF_NOT(cnt == 6);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
PASS;
|
||||
}
|
||||
@@ -1615,6 +1658,7 @@ static int SCACTileTest08(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
(uint8_t *)"a", 1);
|
||||
@@ -1625,6 +1669,7 @@ static int SCACTileTest08(void)
|
||||
printf("0 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1645,6 +1690,7 @@ static int SCACTileTest09(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
(uint8_t *)"ab", 2);
|
||||
@@ -1655,6 +1701,7 @@ static int SCACTileTest09(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1675,6 +1722,7 @@ static int SCACTileTest10(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "01234567890123456789012345678901234567890123456789"
|
||||
"01234567890123456789012345678901234567890123456789"
|
||||
@@ -1690,6 +1738,7 @@ static int SCACTileTest10(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1717,6 +1766,7 @@ static int SCACTileTest11(void)
|
||||
|
||||
if (SCACTilePreparePatterns(NULL, &mpm_ctx) == -1)
|
||||
goto end;
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
result = 1;
|
||||
|
||||
@@ -1735,6 +1785,7 @@ static int SCACTileTest11(void)
|
||||
|
||||
end:
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1757,6 +1808,7 @@ static int SCACTileTest12(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghijklmnopqrstuvwxyz";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1768,6 +1820,7 @@ static int SCACTileTest12(void)
|
||||
printf("2 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1789,6 +1842,7 @@ static int SCACTileTest13(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghijklmnopqrstuvwxyzABCD";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1800,6 +1854,7 @@ static int SCACTileTest13(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1821,6 +1876,7 @@ static int SCACTileTest14(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghijklmnopqrstuvwxyzABCDE";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1832,6 +1888,7 @@ static int SCACTileTest14(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1853,6 +1910,7 @@ static int SCACTileTest15(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghijklmnopqrstuvwxyzABCDEF";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1864,6 +1922,7 @@ static int SCACTileTest15(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1885,6 +1944,7 @@ static int SCACTileTest16(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghijklmnopqrstuvwxyzABC";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1896,6 +1956,7 @@ static int SCACTileTest16(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1917,6 +1978,7 @@ static int SCACTileTest17(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghijklmnopqrstuvwxyzAB";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1928,6 +1990,7 @@ static int SCACTileTest17(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1954,6 +2017,7 @@ static int SCACTileTest18(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcde""fghij""klmno""pqrst""uvwxy""z";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1965,6 +2029,7 @@ static int SCACTileTest18(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -1986,6 +2051,7 @@ static int SCACTileTest19(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -1997,6 +2063,7 @@ static int SCACTileTest19(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -2024,6 +2091,7 @@ static int SCACTileTest20(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "AAAAA""AAAAA""AAAAA""AAAAA""AAAAA""AAAAA""AA";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -2035,6 +2103,7 @@ static int SCACTileTest20(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -2055,6 +2124,7 @@ static int SCACTileTest21(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
(uint8_t *)"AA", 2);
|
||||
@@ -2065,6 +2135,7 @@ static int SCACTileTest21(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -2087,6 +2158,7 @@ static int SCACTileTest22(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "abcdefghijklmnopqrstuvwxyz";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -2098,6 +2170,7 @@ static int SCACTileTest22(void)
|
||||
printf("2 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -2118,6 +2191,7 @@ static int SCACTileTest23(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
(uint8_t *)"aa", 2);
|
||||
@@ -2128,6 +2202,7 @@ static int SCACTileTest23(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -2148,6 +2223,7 @@ static int SCACTileTest24(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
(uint8_t *)"aa", 2);
|
||||
@@ -2158,6 +2234,7 @@ static int SCACTileTest24(void)
|
||||
printf("1 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -2179,6 +2256,7 @@ static int SCACTileTest25(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -2190,6 +2268,7 @@ static int SCACTileTest25(void)
|
||||
printf("3 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -2210,6 +2289,7 @@ static int SCACTileTest26(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "works";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -2221,6 +2301,7 @@ static int SCACTileTest26(void)
|
||||
printf("3 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -2241,6 +2322,7 @@ static int SCACTileTest27(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "tone";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -2252,6 +2334,7 @@ static int SCACTileTest27(void)
|
||||
printf("0 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
@@ -2272,6 +2355,7 @@ static int SCACTileTest28(void)
|
||||
PmqSetup(&pmq);
|
||||
|
||||
SCACTilePreparePatterns(NULL, &mpm_ctx);
|
||||
SCACTileInitThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
|
||||
const char *buf = "tONE";
|
||||
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
|
||||
@@ -2283,6 +2367,7 @@ static int SCACTileTest28(void)
|
||||
printf("0 != %" PRIu32 " ",cnt);
|
||||
|
||||
SCACTileDestroyCtx(&mpm_ctx);
|
||||
SCACTileDestroyThreadCtx(&mpm_ctx, &mpm_thread_ctx);
|
||||
PmqFree(&pmq);
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user