mirror of https://github.com/OISF/suricata
rohash: fix potential bad shift
Fix issue detected byCoverity: *** CID 1197756: Bad bit shift operation (BAD_SHIFT) /src/util-rohash.c: 74 in ROHashInit() 68 } 69 if (hash_bits < 4 || hash_bits > 32) { 70 SCLogError(SC_ERR_HASH_TABLE_INIT, "invalid hash_bits setting, valid range is 4-32"); 71 return NULL; 72 } 73 >>> CID 1197756: Bad bit shift operation (BAD_SHIFT) >>> In expression "1U << hash_bits", left shifting by more than 31 bits has undefined behavior. The shift amount, "hash_bits", is as much as 32. 74 uint32_t size = hashsize(hash_bits) * sizeof(ROHashTableOffsets); 75 76 ROHashTable *table = SCMalloc(sizeof(ROHashTable) + size); 77 if (unlikely(table == NULL)) { 78 SCLogError(SC_ERR_HASH_TABLE_INIT, "failed to alloc memory"); 79 return NULL; This was only a potential issue as ROHashInit was only called with hash_bits 16 in the code. Bug #1170.pull/952/head
parent
1992a22769
commit
9abf595122
Loading…
Reference in New Issue