From 3bf354946f5943d44eb983dc908044c0b9b59b91 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Tue, 20 Jan 2009 20:06:21 -0400 Subject: [PATCH] xact_t pointer list when copy constructing an entry, which leads to crashes during deconstruction (due to double-free'ing transactions). --- src/entry.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/entry.cc b/src/entry.cc index 95987668..9b9afe55 100644 --- a/src/entry.cc +++ b/src/entry.cc @@ -41,7 +41,9 @@ entry_base_t::entry_base_t(const entry_base_t& e) : item_t(), journal(NULL) { TRACE_CTOR(entry_base_t, "copy"); +#if 0 xacts.insert(xacts.end(), e.xacts.begin(), e.xacts.end()); +#endif } entry_base_t::~entry_base_t() @@ -254,9 +256,10 @@ entry_t::entry_t(const entry_t& e) : entry_base_t(e), code(e.code), payee(e.payee) { TRACE_CTOR(entry_t, "copy"); - +#if 0 foreach (xact_t * xact, xacts) xact->entry = this; +#endif } void entry_t::add_xact(xact_t * xact)