From 54beffd9367221402ff09fb8493e8112fe637732 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Sun, 11 Dec 2016 16:32:15 -0800 Subject: [PATCH] Bug 685329 - Crashes on non-existent date MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Log an error instead of crashing. The transaction will be imported with today’s date. --- src/engine/Transaction.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/engine/Transaction.c b/src/engine/Transaction.c index 9547eb3be5..c43812ffff 100644 --- a/src/engine/Transaction.c +++ b/src/engine/Transaction.c @@ -1973,9 +1973,15 @@ xaccTransSetDate (Transaction *trans, int day, int mon, int year) GDate *date; if (!trans) return; date = g_date_new_dmy(day, mon, year); - g_assert(g_date_valid(date)); + if (!g_date_valid(date)) + { + PWARN("Attempted to set invalid date %d-%d-%d; set today's date instead.", + year, mon, day); + g_free(date); + date = gnc_g_date_new_today(); + } xaccTransSetDatePostedGDate(trans, *date); - g_date_free(date); + g_free(date); } void