output: fix logic error

The logical error may have been made here. Comparison with the upper
bound of the variable type does not make sense. It may be worth adding
the cast of one of the multiplication operands to the 64-bit type for
avoiding overflow.

Found by Security Code with Svace static analyzer
Bug: #5789

Signed-off-by: Maxim Korotkov <m.korotkov@securitycode.ru>
pull/8677/head
Maxim Korotkov 3 years ago committed by Victor Julien
parent 39a6f411e9
commit 1c055dc370

@ -119,7 +119,7 @@ int OutputRegisterTxLogger(LoggerId id, const char *name, AppProto alproto,
OutputTxLogger *t = list[alproto];
while (t->next)
t = t->next;
if (t->id * 2 > UINT32_MAX) {
if (t->id * 2ULL > UINT32_MAX) {
FatalError("Too many loggers registered.");
}
op->id = t->id * 2;

Loading…
Cancel
Save