According to the glib manual: - g_date_time_new_from_unix_utc() takes a parameter of the number of SECONDS since the unix epoch - g_get_real_time() returns the number of MICROSECONDS since the unix epoch
Rather than convert the latter with G_USECS_PER_SEC, use the convenient g_date_time_new_now_utc() routine to create the GDateTime object. This fixes a userspace fault seen when messages get sent to monitor, such as when a guest is destroyed. Fixes: 73dab893b569 ("error-report: replace deprecated g_get_current_time() with glib >= 2.62") Signed-off-by: Eric Farman <far...@linux.ibm.com> --- util/error-report.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/error-report.c b/util/error-report.c index dbadaf206d..5edb2e6040 100644 --- a/util/error-report.c +++ b/util/error-report.c @@ -173,7 +173,7 @@ static char * real_time_iso8601(void) { #if GLIB_CHECK_VERSION(2,62,0) - g_autoptr(GDateTime) dt = g_date_time_new_from_unix_utc(g_get_real_time()); + g_autoptr(GDateTime) dt = g_date_time_new_now_utc(); /* ignore deprecation warning, since GLIB_VERSION_MAX_ALLOWED is 2.56 */ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" -- 2.32.0