From b7c103080493f93b2594b878656076d238211ba0 Mon Sep 17 00:00:00 2001 From: Toni Date: Sun, 4 Sep 2022 19:19:05 +0200 Subject: Fix broken ndpi_timeval_to_(milli|micro)seconds (>UINT_MAX). (#1720) Signed-off-by: Toni Uhlig Signed-off-by: Toni Uhlig --- src/include/ndpi_classify.h | 4 ++-- src/lib/ndpi_classify.c | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/include/ndpi_classify.h b/src/include/ndpi_classify.h index ab9212832..3baeb1e13 100644 --- a/src/include/ndpi_classify.h +++ b/src/include/ndpi_classify.h @@ -85,8 +85,8 @@ unsigned int ndpi_timer_eq(const pkt_timeval *a, const pkt_timeval *b); unsigned int ndpi_timer_lt(const pkt_timeval *a, const pkt_timeval *b); void ndpi_timer_sub(const pkt_timeval *a, const pkt_timeval *b, pkt_timeval *result); void ndpi_timer_clear(pkt_timeval *a); -unsigned int ndpi_timeval_to_milliseconds(pkt_timeval ts); -unsigned int ndpi_timeval_to_microseconds(pkt_timeval ts); +u_int64_t ndpi_timeval_to_milliseconds(pkt_timeval ts); +u_int64_t ndpi_timeval_to_microseconds(pkt_timeval ts); void ndpi_log_timestamp(char *log_ts, uint32_t log_ts_len); #endif /* NDPI_CLASSIFY_H */ diff --git a/src/lib/ndpi_classify.c b/src/lib/ndpi_classify.c index 61756cc16..e94bf2872 100644 --- a/src/lib/ndpi_classify.c +++ b/src/lib/ndpi_classify.c @@ -657,24 +657,24 @@ ndpi_timer_clear(pkt_timeval *a) /** * \brief Calculate the milliseconds representation of a timeval. * \param ts Timeval - * \return unsigned int - Milliseconds + * \return unsigned int (64bit) - Milliseconds */ -unsigned int +u_int64_t ndpi_timeval_to_milliseconds(pkt_timeval ts) { - unsigned int result = ts.tv_usec / 1000 + ts.tv_sec * 1000; + u_int64_t result = ts.tv_usec / 1000 + ts.tv_sec * 1000; return result; } /** * \brief Calculate the microseconds representation of a timeval. * \param ts Timeval - * \return unsigned int - Milliseconds + * \return unsigned int (64bit) - Microseconds */ -unsigned int +u_int64_t ndpi_timeval_to_microseconds(pkt_timeval ts) { - unsigned int result = ts.tv_usec + ts.tv_sec * 1000 * 1000; + u_int64_t result = ts.tv_usec + ts.tv_sec * 1000 * 1000; return result; } -- cgit v1.2.3