From 16ab307eca98a49d66bf3332578b4bdd32f63732 Mon Sep 17 00:00:00 2001 From: Martin Ejdestig Date: Tue, 17 Nov 2020 01:21:54 +0100 Subject: Fix overflow for -d argument in dlt-example-user (#270) atoi(dvalue) * 1000000 overflows if given a value >= 2147 when sizeof(int) is 4. (2^31 / 10000000 ~= 2147.48) Signed-off-by: Martin Ejdestig --- src/examples/dlt-example-user.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/examples/dlt-example-user.c b/src/examples/dlt-example-user.c index db177ef..fabb1d7 100644 --- a/src/examples/dlt-example-user.c +++ b/src/examples/dlt-example-user.c @@ -310,9 +310,9 @@ int main(int argc, char *argv[]) maxnum = 10; if (dvalue) - delay = atoi(dvalue) * 1000000; + delay = atoi(dvalue); else - delay = 500 * 1000000; + delay = 500; if (tvalue) dlt_set_resend_timeout_atexit(atoi(tvalue)); @@ -378,8 +378,8 @@ int main(int argc, char *argv[]) } if (delay > 0) { - ts.tv_sec = delay / 1000000000; - ts.tv_nsec = delay % 1000000000; + ts.tv_sec = delay / 1000; + ts.tv_nsec = (delay % 1000) * 1000000; nanosleep(&ts, NULL); } } -- cgit v1.2.1