[glib] Fix a 32-bit time_t cast
- From: Руслан Ижбулатов <ruslanizhb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Fix a 32-bit time_t cast
- Date: Sun, 3 Dec 2017 03:05:21 +0000 (UTC)
commit 69ea026fbcfeeb81110ab5b88012d0efde2c2f34
Author: Руслан Ижбулатов <lrn1986 gmail com>
Date: Sat Dec 2 11:39:12 2017 +0000
Fix a 32-bit time_t cast
Divide first, *then* cast. Otherwise a very long "now", which is
64-bit, gets truncated into a 32-bit time_t, which can't hold the
value, and turns negative more often than not.
https://bugzilla.gnome.org/show_bug.cgi?id=791128
glib/gmessages.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/glib/gmessages.c b/glib/gmessages.c
index 8c9f558..cb2abd5 100644
--- a/glib/gmessages.c
+++ b/glib/gmessages.c
@@ -2268,7 +2268,7 @@ g_log_writer_format_fields (GLogLevelFlags log_level,
/* Timestamp */
now = g_get_real_time ();
- now_secs = (time_t) now / 1000000;
+ now_secs = (time_t) (now / 1000000);
now_tm = localtime (&now_secs);
strftime (time_buf, sizeof (time_buf), "%H:%M:%S", now_tm);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]