AUDIT: r16670 - gnucash/trunk/src/app-utils - Bug#496178: guid_to_string(…) causes memory corruption; use guid_to_string_buff(…).
Josh Sled
jsled at cvs.gnucash.org
Sun Dec 16 12:17:28 EST 2007
Author: jsled
Date: 2007-12-16 12:17:27 -0500 (Sun, 16 Dec 2007)
New Revision: 16670
Trac: http://svn.gnucash.org/trac/changeset/16670
Modified:
gnucash/trunk/src/app-utils/gnc-sx-instance-model.c
Log:
Bug#496178: guid_to_string(…) causes memory corruption; use guid_to_string_buff(…).
BP
Modified: gnucash/trunk/src/app-utils/gnc-sx-instance-model.c
===================================================================
--- gnucash/trunk/src/app-utils/gnc-sx-instance-model.c 2007-12-16 16:41:33 UTC (rev 16669)
+++ gnucash/trunk/src/app-utils/gnc-sx-instance-model.c 2007-12-16 17:17:27 UTC (rev 16670)
@@ -261,11 +261,10 @@
gnc_sx_get_template_transaction_account(SchedXaction *sx)
{
Account *template_root, *sx_template_acct;
- const char *sx_guid_str;
+ char sx_guid_str[GUID_ENCODING_LENGTH];
template_root = gnc_book_get_template_root(gnc_get_current_book());
- sx_guid_str = guid_to_string(xaccSchedXactionGetGUID(sx));
- /* Get account named after guid string. */
+ guid_to_string_buff(xaccSchedXactionGetGUID(sx), sx_guid_str);
sx_template_acct = gnc_account_lookup_by_name(template_root, sx_guid_str);
return sx_template_acct;
}
@@ -924,13 +923,12 @@
*split_acct = xaccAccountLookup(acct_guid, gnc_get_current_book());
if (*split_acct == NULL)
{
- const char *guid_str;
+ char guid_str[GUID_ENCODING_LENGTH];
GString *err;
- guid_str = guid_to_string((const GUID*)acct_guid);
+ guid_to_string_buff((const GUID*)acct_guid, guid_str);
err = g_string_new("");
g_string_printf(err, "Unknown account for guid [%s], cancelling SX [%s] creation.",
guid_str, xaccSchedXactionGetName(instance->parent->sx));
- g_free((char*)guid_str);
g_critical("%s", err->str);
if (creation_errors != NULL)
*creation_errors = g_list_append(*creation_errors, err);
More information about the gnucash-changes
mailing list