From 394b38195b0ba33f329c715eb0c0c1c7b3884227 Mon Sep 17 00:00:00 2001 From: Sandy <39258624+sandy-lcq@users.noreply.github.com> Date: Wed, 26 Oct 2022 16:36:27 +0800 Subject: dlt-system: Fix buffer overflow detection on 32bit targets (#398) * dlt-system: Fix buffer overflow detection on 32bit targets On 32bit target, dlt-system will termiated with error: dlt-system: *** buffer overflow detected ***: terminated Signed-off-by: Changqing Li * Fixed newline at EOF Signed-off-by: Changqing Li Co-authored-by: michael-methner --- src/system/dlt-system-watchdog.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/system/dlt-system-watchdog.c b/src/system/dlt-system-watchdog.c index a2b01de..cfb5b76 100644 --- a/src/system/dlt-system-watchdog.c +++ b/src/system/dlt-system-watchdog.c @@ -109,8 +109,8 @@ int register_watchdog_fd(struct pollfd *pollfd, int fdcnt) void watchdog_fd_handler(int fd) { - long int timersElapsed = 0; - int r = read(fd, &timersElapsed, 8); // only needed to reset fd event + uint64_t timersElapsed = 0ULL; + int r = read(fd, &timersElapsed, 8U); // only needed to reset fd event if(r < 0) DLT_LOG(watchdogContext, DLT_LOG_ERROR, DLT_STRING("Could not reset systemd watchdog. Exit with: "), DLT_STRING(strerror(r))); @@ -120,4 +120,5 @@ void watchdog_fd_handler(int fd) DLT_LOG(watchdogContext, DLT_LOG_DEBUG, DLT_STRING("systemd watchdog waited periodic\n")); } -#endif \ No newline at end of file +#endif + -- cgit v1.2.1