From a8d3cd6eb4f181000256986ea7cf83074a0d2b59 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Tue, 26 Apr 2022 20:14:39 +0200 Subject: [PATCH] mpm/ac-ks: address int handling issues cppcheck: src/util-mpm-ac-ks.c:1452:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] printf("Total states in the state table: %d\n", ctx->state_count); ^ src/util-mpm-ac-ks.c:606:34: error: Signed integer overflow for expression '1<<31'. [integerOverflow] encoded_next_state |= (1 << 31); ^ Bug: #5291. --- src/util-mpm-ac-ks.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util-mpm-ac-ks.c b/src/util-mpm-ac-ks.c index 1e487d28f8..5f6dbf9d32 100644 --- a/src/util-mpm-ac-ks.c +++ b/src/util-mpm-ac-ks.c @@ -603,7 +603,7 @@ static void SCACTileSetState4Bytes(SCACTileCtx *ctx, int state, int aa, } if (outputs == 0) - encoded_next_state |= (1 << 31); + encoded_next_state |= (1UL << 31); state_table[state * ctx->alphabet_storage + aa] = encoded_next_state; } @@ -1449,7 +1449,7 @@ void SCACTilePrintInfo(MpmCtx *mpm_ctx) printf("Unique Patterns: %" PRIu32 "\n", mpm_ctx->pattern_cnt); printf("Smallest: %" PRIu32 "\n", mpm_ctx->minlen); printf("Largest: %" PRIu32 "\n", mpm_ctx->maxlen); - printf("Total states in the state table: %d\n", ctx->state_count); + printf("Total states in the state table: %u\n", ctx->state_count); printf("\n"); }