libgda r3083 - in branches/release-3-0-branch: . libgda



Author: murrayc
Date: Mon Mar 17 00:16:39 2008
New Revision: 3083
URL: http://svn.gnome.org/viewvc/libgda?rev=3083&view=rev

Log:
2008-03-17  Phil Longstaff  <plongstaff rogers com>

* libgda/gda-data-model-array.c (gda_data_model_array_copy_model):
* libgda/gda-data-model.c (find_column_from_id, add_xml_row):
* libgda/gda-init.c (gda_drop_table):
* libgda/gda-server-operation.c (gda_server_operation_get_node_info,
  gda_server_operation_get_value_at,
  gda_server_operation_set_value_at):
* libgda/gda-util.c (gda_utility_data_model_dump_data_to_xml,
  gda_utility_parameter_load_attributes): Fixed some obvious memory leaks 
by freeing variables.

Modified:
   branches/release-3-0-branch/ChangeLog
   branches/release-3-0-branch/libgda/gda-data-model-array.c
   branches/release-3-0-branch/libgda/gda-data-model.c
   branches/release-3-0-branch/libgda/gda-init.c
   branches/release-3-0-branch/libgda/gda-server-operation.c
   branches/release-3-0-branch/libgda/gda-util.c

Modified: branches/release-3-0-branch/libgda/gda-data-model-array.c
==============================================================================
--- branches/release-3-0-branch/libgda/gda-data-model-array.c	(original)
+++ branches/release-3-0-branch/libgda/gda-data-model-array.c	Mon Mar 17 00:16:39 2008
@@ -438,6 +438,7 @@
 
 		g_object_get (G_OBJECT (srccol), "id", &colid, NULL);
 		g_object_set (G_OBJECT (copycol), "id", colid, NULL);
+		g_free(colid);
 		gda_column_set_title (copycol, gda_column_get_title (srccol));
 		gda_column_set_defined_size (copycol, gda_column_get_defined_size (srccol));
 		gda_column_set_name (copycol, gda_column_get_name (srccol));

Modified: branches/release-3-0-branch/libgda/gda-data-model.c
==============================================================================
--- branches/release-3-0-branch/libgda/gda-data-model.c	(original)
+++ branches/release-3-0-branch/libgda/gda-data-model.c	Mon Mar 17 00:16:39 2008
@@ -1374,13 +1374,15 @@
 	/* assume @colid is the ID of a column */
 	nbcols = gda_data_model_get_n_columns (model);
 	for (c = 0; !column && (c < nbcols); c++) {
-		const gchar *id;
+		gchar *id;
 		column = gda_data_model_describe_column (model, c);
 		g_object_get (column, "id", &id, NULL);
 		if (!id || strcmp (id, colid)) 
 			column = NULL;
 		else
 			*pos = c;
+		if(id != NULL)
+			g_free(id);
 	}
 
 	/* if no column has been found, assumr @colid is like "_%d" where %d is a column number */
@@ -1470,13 +1472,16 @@
 
 		if (!isnull) {
 			value = g_new0 (GValue, 1);
-			if (!gda_value_set_from_string (value, (gchar*)xmlNodeGetContent (xml_field), gdatype)) {
+			gchar* nodeval = (gchar*)xmlNodeGetContent (xml_field);
+			if (!gda_value_set_from_string (value, nodeval, gdatype)) {
 				g_free (value);
+				xmlFree(nodeval);
 				g_set_error (error, 0, 0, _("Cannot interpret string as a valid %s value"), 
 					     gda_g_type_to_string (gdatype));
 				retval = FALSE;
 				break;
 			}
+			xmlFree(nodeval);
 		}
 		else
 			g_free (isnull);

Modified: branches/release-3-0-branch/libgda/gda-init.c
==============================================================================
--- branches/release-3-0-branch/libgda/gda-init.c	(original)
+++ branches/release-3-0-branch/libgda/gda-init.c	Mon Mar 17 00:16:39 2008
@@ -558,11 +558,12 @@
 			retval = FALSE;
 		}
 		else {
-			if (gda_server_provider_perform_operation (server, cnn, op, error))
+			if (!gda_server_provider_perform_operation (server, cnn, op, error)) {
 				/* error */
 				g_object_unref (op);
-		        xmlFreeDoc(parameters);
-			return FALSE;
+		        	xmlFreeDoc(parameters);
+				return FALSE;
+			}
 		}
 		g_object_unref (op);
 		xmlFreeDoc(parameters);

Modified: branches/release-3-0-branch/libgda/gda-server-operation.c
==============================================================================
--- branches/release-3-0-branch/libgda/gda-server-operation.c	(original)
+++ branches/release-3-0-branch/libgda/gda-server-operation.c	Mon Mar 17 00:16:39 2008
@@ -1036,6 +1036,7 @@
 					g_object_get (G_OBJECT (column), "id", &colid, NULL);
 					if (!colid || strcmp (colid, extension +1))
 						column = NULL;
+					g_free(colid);
 				}
 			}
 			g_free (extension);
@@ -1829,6 +1830,7 @@
 					value = gda_data_model_get_value_at (node_info->model, 
 									     gda_column_get_position (node_info->column), 
 									     row);
+				g_free(extension);
 			}
 			g_free (str);
 		}		
@@ -1958,6 +1960,7 @@
 					g_object_get (G_OBJECT (column), "id", &colid, NULL);
 					if (!colid || strcmp (colid, colname +1))
 						column = NULL;
+					g_free(colid);
 				}
 				if (column) {
 					gchar *ptr;
@@ -2008,6 +2011,7 @@
 
 	g_free (extension);
 	g_free (colname);
+	g_free (path);
 	return allok;
 }
 

Modified: branches/release-3-0-branch/libgda/gda-util.c
==============================================================================
--- branches/release-3-0-branch/libgda/gda-util.c	(original)
+++ branches/release-3-0-branch/libgda/gda-util.c	Mon Mar 17 00:16:39 2008
@@ -686,10 +686,13 @@
 		
 			column = gda_data_model_describe_column (model, rcols [c]);
 			g_object_get (G_OBJECT (column), "id", &id, NULL);
+
 			if (id && *id)
 				col_ids [c] = g_strdup (id);
 			else
 				col_ids [c] = g_strdup_printf ("_%d", c);
+
+			g_free(id);
 		}
 	}
 
@@ -882,9 +885,10 @@
 			
 			if (!isnull) {
 				GValue *value;
+				gchar* nodeval = (gchar*)xmlNodeGetContent (vnode);
 
 				value = g_new0 (GValue, 1);
-				if (! gda_value_set_from_string (value, (gchar*)xmlNodeGetContent (vnode), gdatype)) {
+				if (! gda_value_set_from_string (value, nodeval, gdatype)) {
 					/* error */
 					g_free (value);
 				}
@@ -892,6 +896,8 @@
 					gda_parameter_set_value (param, value);
 					gda_value_free (value);
 				}
+
+				xmlFree(nodeval);
 			}
 			else {
 				gda_parameter_set_value (param, NULL);



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