gnucash master: [gnc-account-sel] fix entered_text leak
Christopher Lam
clam at code.gnucash.org
Fri Mar 24 09:47:51 EDT 2023
Updated via https://github.com/Gnucash/gnucash/commit/03bca602 (commit)
from https://github.com/Gnucash/gnucash/commit/d529c427 (commit)
commit 03bca6023c837f4e0b20660e77ac6cf4c3749f11
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Fri Mar 24 18:09:09 2023 +0800
[gnc-account-sel] fix entered_text leak
if entered_text was "" it'd leak.
diff --git a/gnucash/gnome-utils/gnc-account-sel.c b/gnucash/gnome-utils/gnc-account-sel.c
index 801016ab16..92edda22e7 100644
--- a/gnucash/gnome-utils/gnc-account-sel.c
+++ b/gnucash/gnome-utils/gnc-account-sel.c
@@ -326,7 +326,7 @@ completion_function (GtkEntryCompletion *completion, const char *key,
}
static char*
-normalize_and_lower (char* utf8_string)
+normalize_and_lower (const char* utf8_string)
{
char *normalized, *lowered;
g_return_val_if_fail (utf8_string && *utf8_string, NULL);
@@ -413,7 +413,7 @@ entry_insert_text_cb (GtkEntry *entry, const gchar *text, gint length,
GNCAccountSel *gas = GNC_ACCOUNT_SEL(user_data);
GtkTreeModel *fmodel = gtk_combo_box_get_model (GTK_COMBO_BOX(gas->combo));
const gchar *sep_char = gnc_get_account_separator_string ();
- gchar *entered_text, *lower_entered_text;
+ gchar *lower_entered_text;
glong entered_len;
gunichar sep_unichar;
gint sep_key_prefix_len = G_MAXINT;
@@ -425,7 +425,7 @@ entry_insert_text_cb (GtkEntry *entry, const gchar *text, gint length,
memset (gas->sep_key_prefix, 0, BUFLEN);
- entered_text = gtk_editable_get_chars (GTK_EDITABLE(entry), 0, -1);
+ const gchar *entered_text = gtk_entry_get_text (entry);
if (!(entered_text && *entered_text))
return;
@@ -469,7 +469,6 @@ entry_insert_text_cb (GtkEntry *entry, const gchar *text, gint length,
g_utf8_strncpy (gas->sep_key_prefix, entered_text, entered_len);
g_free (lower_entered_text);
- g_free (entered_text);
if (gas->sep_key_prefix[0] != 0)
{
Summary of changes:
gnucash/gnome-utils/gnc-account-sel.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
More information about the gnucash-changes
mailing list