diff --git a/src/flow.h b/src/flow.h index a238ff0b99..ac9c314dab 100644 --- a/src/flow.h +++ b/src/flow.h @@ -691,9 +691,8 @@ static inline void FlowDeReference(Flow **d) */ static inline int64_t FlowGetId(const Flow *f) { - int64_t id = (int64_t)f->flow_hash << 31 | - (int64_t)(f->startts.tv_sec & 0x0000FFFF) << 16 | - (int64_t)(f->startts.tv_usec & 0x0000FFFF); + int64_t id = (uint64_t)(f->startts.tv_sec & 0x0000FFFF) << 48 | + (uint64_t)(f->startts.tv_usec & 0x0000FFFF) << 32 | (int64_t)f->flow_hash; /* reduce to 51 bits as Javascript and even JSON often seem to * max out there. */ id &= 0x7ffffffffffffLL;