[Gnucash-changes] Fix accessing a destroyed gnc_commodity.

Christian Stimming cstim at cvs.gnucash.org
Sun Oct 16 07:03:28 EDT 2005


Log Message:
-----------
Fix accessing a destroyed gnc_commodity.

2005-10-16  Christian Stimming  <stimming at tuhh.de>

	* src/backend/file/io-gncxml-v2.c: Fix accessing a gnc_commodity
	after it has been destroyed - xaccTransSetCurrency requires the
	original currency still to exist.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash:
        ChangeLog
    gnucash/src/backend/file:
        io-example-account.c
        io-gncxml-v2.c

Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.341
retrieving revision 1.1487.2.342
diff -LChangeLog -LChangeLog -u -r1.1487.2.341 -r1.1487.2.342
--- ChangeLog
+++ ChangeLog
@@ -1,5 +1,9 @@
 2005-10-16  Christian Stimming  <stimming at tuhh.de>
 
+	* src/backend/file/io-gncxml-v2.c: Fix accessing a gnc_commodity
+	after it has been destroyed - xaccTransSetCurrency requires the
+	original currency still to exist.
+
 	* src/import-export/import-backend.c: Woohoo! Tracked down and
 	fixed a nasty double-free error when the importer reconciled
 	existing transactions.
Index: io-gncxml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/io-gncxml-v2.c,v
retrieving revision 1.24.4.12
retrieving revision 1.24.4.13
diff -Lsrc/backend/file/io-gncxml-v2.c -Lsrc/backend/file/io-gncxml-v2.c -u -r1.24.4.12 -r1.24.4.13
--- src/backend/file/io-gncxml-v2.c
+++ src/backend/file/io-gncxml-v2.c
@@ -109,10 +109,10 @@
     }
     else
     {
-        gnc_commodity_destroy(com);
         setter(act, gcom);
         if (old_scu != 0 && scu_setter)
           scu_setter(act, old_scu);
+        gnc_commodity_destroy(com);
     }
 }
 
@@ -145,10 +145,10 @@
     }
     else
     {
-        gnc_commodity_destroy(com);
         xaccTransBeginEdit(trans);
         setter(trans, gcom);
         xaccTransCommitEdit(trans);
+        gnc_commodity_destroy(com);
     }
 }
 
Index: io-example-account.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/io-example-account.c,v
retrieving revision 1.12.4.4
retrieving revision 1.12.4.5
diff -Lsrc/backend/file/io-example-account.c -Lsrc/backend/file/io-example-account.c -u -r1.12.4.4 -r1.12.4.5
--- src/backend/file/io-example-account.c
+++ src/backend/file/io-example-account.c
@@ -120,8 +120,8 @@
     }
     else
     {
-        gnc_commodity_destroy(com);
         setter(act, gcom);
+        gnc_commodity_destroy(com);
     }
 }
 


More information about the gnucash-changes mailing list