From bf1c6d3278eec30305440a35064cbaa06db08eef Mon Sep 17 00:00:00 2001 From: Mike Alexander Date: Sat, 7 Dec 2013 07:33:14 +0000 Subject: [PATCH] Protect gnc_mktime against bad dates. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23495 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/libqof/qof/gnc-date.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libqof/qof/gnc-date.c b/src/libqof/qof/gnc-date.c index f7c7030157..19f453150f 100644 --- a/src/libqof/qof/gnc-date.c +++ b/src/libqof/qof/gnc-date.c @@ -399,6 +399,11 @@ gnc_mktime (struct tm* time) gdt = gnc_g_date_time_new_local (time->tm_year + 1900, time->tm_mon, time->tm_mday, time->tm_hour, time->tm_min, (gdouble)(time->tm_sec)); + if (gdt == NULL) + { + g_warning("Invalid time passed to gnc_mktime"); + return -1; + } time->tm_mon = time->tm_mon > 0 ? time->tm_mon - 1 : 11; // Watch out: struct tm has wday=0..6 with Sunday=0, but GDateTime has wday=1..7 with Sunday=7. time->tm_wday = g_date_time_get_day_of_week (gdt) % 7;