[libgda] GdaDataModel: fix memory leak at import from model
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] GdaDataModel: fix memory leak at import from model
- Date: Sun, 21 Apr 2019 05:08:56 +0000 (UTC)
commit dabdf35ccdb91baa29754382888a5406d4e22dce
Author: Daniel Espinosa <esodan gmail com>
Date: Sat Apr 20 23:49:46 2019 -0500
GdaDataModel: fix memory leak at import from model
libgda/gda-data-model.c | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
---
diff --git a/libgda/gda-data-model.c b/libgda/gda-data-model.c
index c454be53b..56d950e0d 100644
--- a/libgda/gda-data-model.c
+++ b/libgda/gda-data-model.c
@@ -1984,6 +1984,7 @@ gda_data_model_import_from_model (GdaDataModel *to, GdaDataModel *from,
g_set_error (error, GDA_DATA_MODEL_ERROR, GDA_DATA_MODEL_VALUE_TYPE_ERROR,
_("Destination column %d can't be NULL but has no correspondence in the "
"source data model"), i);
+ g_object_unref (from_iter);
return FALSE;
}
if (param) {
@@ -1997,6 +1998,7 @@ gda_data_model_import_from_model (GdaDataModel *to, GdaDataModel *from,
gda_g_type_to_string (gda_column_get_g_type (column)),
col,
gda_g_type_to_string (gda_holder_get_g_type (param)));
+ g_object_unref (from_iter);
return FALSE;
}
}
@@ -2134,17 +2136,12 @@ gda_data_model_import_from_model (GdaDataModel *to, GdaDataModel *from,
}
/* free memory */
- {
- GList *vlist;
-
- vlist = append_values;
- while (vlist) {
- if (vlist->data)
- gda_value_free ((GValue *) vlist->data);
- vlist = g_list_next (vlist);
- }
- g_free (append_types);
- }
+ g_list_free_full (append_values, (GDestroyNotify) gda_value_free);
+ g_free (append_types);
+ g_object_unref (from_iter);
+ if (copy_params) {
+ g_slist_free (copy_params);
+ }
if (retval && (to_row >= 0)) {
/* remove extra rows */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]