gnucash maint: Bug 672760 - Postponed transaction applied invalid date

John Ralls jralls at code.gnucash.org
Tue Jan 13 13:47:51 EST 2015


Updated	 via  https://github.com/Gnucash/gnucash/commit/afaec370 (commit)
	from  https://github.com/Gnucash/gnucash/commit/7963421d (commit)



commit afaec3703761ee2b7b5584b35d5eec36b9647559
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Jan 11 13:57:32 2015 -0800

    Bug 672760 - Postponed transaction applied invalid date
    
    Part 2: GDate can represent a wider range that GDateTime, so make
    sure that GDates outside of the range are clamped. The GDateTime
    range is 1 - 9999 CE, more than wide enough for most purposes. GDate
    can represent out to 65535CE, but the significant difference is that
    a freshly-cleared GDate is 0CE, which GDateTime won't accept. That we
    set to the Unix Epoch 0, 1970-Jan-1.
    
    gnc_sx_incr_temporal_state can invalidate the gdate, so make sure that a
    valid date is stored.
    
    Adding the inst->temporal_state ptr to the sx->deferredList is wrong, it's
    freed shortly after adding, causing later access to the freed ptr.
    Add a clone instead.



Summary of changes:
 src/app-utils/gnc-sx-instance-model.c | 3 ++-
 src/engine/SchedXaction.c             | 7 +++++--
 2 files changed, 7 insertions(+), 3 deletions(-)



More information about the gnucash-patches mailing list