diff options
author | António Fernandes <antoniof@gnome.org> | 2020-12-19 15:11:43 +0000 |
---|---|---|
committer | Ondrej Holy <oholy@redhat.com> | 2021-01-05 08:50:25 +0000 |
commit | 39e05c23687b9af2cac6fc982b2f90aadb2a9c95 (patch) | |
tree | 831433375a998f4a348796993cba02165d8f7ebd /src/nautilus-list-view.c | |
parent | 90a58d972dbe069c1db4e1a359cec908c9650760 (diff) | |
download | nautilus-39e05c23687b9af2cac6fc982b2f90aadb2a9c95.tar.gz |
list-view: Don't leak container arraywip/antoniof/meets-valgrind
When converting the array into a list, the list takes the data. But the
original container is leaked.
Get the array inside the helper function and free it after its data is
taken. Also rename the helper funcion appropriately.
Diffstat (limited to 'src/nautilus-list-view.c')
-rw-r--r-- | src/nautilus-list-view.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c index a4fabb924..0bfb7dec4 100644 --- a/src/nautilus-list-view.c +++ b/src/nautilus-list-view.c @@ -2468,10 +2468,13 @@ get_default_visible_columns (NautilusListView *list_view) } static GList * -default_column_array_as_list (gchar **array) +get_default_visible_columns_as_list (NautilusListView *list_view) { GList *res = NULL; gint i = 0; + gchar **array; + + array = get_default_visible_columns (list_view); while (array[i] != NULL) { @@ -2479,6 +2482,8 @@ default_column_array_as_list (gchar **array) i++; } + g_free (array); + return res; } @@ -2506,7 +2511,7 @@ get_visible_columns (NautilusListView *list_view) NAUTILUS_METADATA_KEY_LIST_VIEW_VISIBLE_COLUMNS); if (visible_columns == NULL) { - visible_columns = default_column_array_as_list (get_default_visible_columns (list_view)); + visible_columns = get_default_visible_columns_as_list (list_view); } res = g_ptr_array_new (); |