[libgda] Misc memory usage corrections



commit 945e4883fe09b6a7d02ac055568544f1c42b428b
Author: Vivien Malerba <malerba gnome-db org>
Date:   Thu Oct 1 20:07:05 2009 +0200

    Misc memory usage corrections

 libgda-ui/data-entries/plugins/gdaui-entry-cidr.c |    3 ++-
 libgda-ui/gdaui-basic-form.c                      |    2 ++
 libgda-xslt/sql_backend.c                         |    3 +++
 libgda/gda-server-operation.c                     |    1 +
 libgda/gda-util.c                                 |    2 +-
 libgda/sqlite/gda-sqlite-provider.c               |    2 +-
 libgda/sqlite/gen_emb_string.c                    |    1 +
 7 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/libgda-ui/data-entries/plugins/gdaui-entry-cidr.c b/libgda-ui/data-entries/plugins/gdaui-entry-cidr.c
index 5ddbd53..0666505 100644
--- a/libgda-ui/data-entries/plugins/gdaui-entry-cidr.c
+++ b/libgda-ui/data-entries/plugins/gdaui-entry-cidr.c
@@ -607,11 +607,12 @@ split_values_get (GdauiEntryCidr *mgcidr)
 	gchar **tmp_array;
 	gchar *str;
 
-	values = g_new0 (SplitValues, 1);
 	str = gdaui_entry_get_text (GDAUI_ENTRY (mgcidr->priv->entry));
 	if (!str)
 		return NULL;
 
+	values = g_new0 (SplitValues, 1);
+
 	tmp_array = g_strsplit (str, "/", -1);
 	if (!tmp_array[0] || !tmp_array[1])
 		goto split_exit;
diff --git a/libgda-ui/gdaui-basic-form.c b/libgda-ui/gdaui-basic-form.c
index fee8e88..68c8993 100644
--- a/libgda-ui/gdaui-basic-form.c
+++ b/libgda-ui/gdaui-basic-form.c
@@ -485,6 +485,8 @@ load_xml_data_layout_button (GdauiBasicForm  *form,
 			// load_data_layout_button_script (table, child);
 		}
 	}
+
+	g_free (script);
 }
 
 static void
diff --git a/libgda-xslt/sql_backend.c b/libgda-xslt/sql_backend.c
index 3aa7367..41319a2 100644
--- a/libgda-xslt/sql_backend.c
+++ b/libgda-xslt/sql_backend.c
@@ -434,6 +434,7 @@ _utility_data_model_to_nodeset (GdaDataModel * model,
 					for (c = 0; c < rnb_cols; c++)
 						g_free (col_ids[c]);
 					g_free (col_ids);
+					g_free (rcols);
 					return -1;
 				}
 				if (gda_value_is_null ((GValue *) value))
@@ -451,8 +452,10 @@ _utility_data_model_to_nodeset (GdaDataModel * model,
 	for (c = 0; c < rnb_cols; c++)
 		g_free (col_ids[c]);
 	g_free (col_ids);
+	g_free (rcols);
 
 	*nodeset = (xmlXPathObjectPtr) xmlXPathNewNodeSet (mainnode);
+
 	return 0;
 }
 
diff --git a/libgda/gda-server-operation.c b/libgda/gda-server-operation.c
index f35f428..7c03ebf 100644
--- a/libgda/gda-server-operation.c
+++ b/libgda/gda-server-operation.c
@@ -932,6 +932,7 @@ load_xml_spec (GdaServerOperation *op, xmlNodePtr specnode, const gchar *root, G
 		}
 		else {
 			node = node->next;
+			g_free (path_name);
 			continue;
 		}
 		
diff --git a/libgda/gda-util.c b/libgda/gda-util.c
index 1e9e7bd..d55f31a 100644
--- a/libgda/gda-util.c
+++ b/libgda/gda-util.c
@@ -1490,7 +1490,7 @@ gda_completion_list_get (GdaConnection *cnc, const gchar *sql, gint start, gint
 						
 						g_object_unref (m2);
 					}
-					free (str);
+					g_free (str);
 				}
 			}
 		}
diff --git a/libgda/sqlite/gda-sqlite-provider.c b/libgda/sqlite/gda-sqlite-provider.c
index 58823d1..bdc49f4 100644
--- a/libgda/sqlite/gda-sqlite-provider.c
+++ b/libgda/sqlite/gda-sqlite-provider.c
@@ -557,7 +557,7 @@ gda_sqlite_provider_open_connection (GdaServerProvider *provider, GdaConnection
 				if (g_str_has_suffix (str, FILE_EXTENSION)) {
 					gchar *ptr;
 					
-					dup = strdup (str);
+					dup = g_strdup (str);
 					dup [len-elen] = 0;
 					for (ptr = dup + (len - elen - 1); (ptr >= dup) && (*ptr != G_DIR_SEPARATOR); ptr--);
 					dbname = ptr;
diff --git a/libgda/sqlite/gen_emb_string.c b/libgda/sqlite/gen_emb_string.c
index f1d839c..b4f26f8 100644
--- a/libgda/sqlite/gen_emb_string.c
+++ b/libgda/sqlite/gen_emb_string.c
@@ -117,6 +117,7 @@ main (int argc,char** argv)
 		for (i = buffer_index; i < buffer_index + n_read + added; i++) {
 			if (buffer_index + n_read + added + 2 >= maxlen) {
 				fprintf (stderr, "Max buffer size reached\nIncrease MAXSIZE constant and re-run\n");
+				fclose (file);
 				return 1;
 			}
 			if (buffer[i] == '"') {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]