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.
(cherry picked from commit a8d3cd6eb4)
pull/7369/head
Victor Julien 4 years ago
parent c741f8cbad
commit 346e69fc2b

@ -599,7 +599,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;
}
@ -1444,7 +1444,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");
}

Loading…
Cancel
Save