diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2023-09-25 12:27:24 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2023-09-26 16:39:29 +0200 |
commit | 168d46749d19f4808022b9a88c0846b3286aed59 (patch) | |
tree | 9b04ba321c0a23063f469a149e2e5d903b3a865f /tests | |
parent | 973d3ea5a1c0573149b7004108276ca01cb05fd2 (diff) | |
download | qemu-168d46749d19f4808022b9a88c0846b3286aed59.zip qemu-168d46749d19f4808022b9a88c0846b3286aed59.tar.gz qemu-168d46749d19f4808022b9a88c0846b3286aed59.tar.bz2 |
m48t59-test: avoid possible overflow on ABS
Originally meant to avoid a shadowed variable "s", which was fixed by
renaming the outer declaration to "qts". Avoid the chance of an overflow
in the computation of ABS(t - s).
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/qtest/m48t59-test.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/tests/qtest/m48t59-test.c b/tests/qtest/m48t59-test.c index 9487faf..b9cd209 100644 --- a/tests/qtest/m48t59-test.c +++ b/tests/qtest/m48t59-test.c @@ -192,19 +192,22 @@ static void bcd_check_time(void) } if (!(tm_cmp(&start, datep) <= 0 && tm_cmp(datep, &end) <= 0)) { - long t, s; + long date_s, start_s; + unsigned long diff; start.tm_isdst = datep->tm_isdst; - t = (long)mktime(datep); - s = (long)mktime(&start); - if (t < s) { - g_test_message("RTC is %ld second(s) behind wall-clock", (s - t)); + date_s = (long)mktime(datep); + start_s = (long)mktime(&start); + if (date_s < start_s) { + diff = start_s - date_s; + g_test_message("RTC is %ld second(s) behind wall-clock", diff); } else { - g_test_message("RTC is %ld second(s) ahead of wall-clock", (t - s)); + diff = date_s - start_s; + g_test_message("RTC is %ld second(s) ahead of wall-clock", diff); } - g_assert_cmpint(ABS(t - s), <=, wiggle); + g_assert_cmpint(diff, <=, wiggle); } qtest_quit(qts); |