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



Author: murrayc
Date: Tue Mar 18 13:23:30 2008
New Revision: 3087
URL: http://svn.gnome.org/viewvc/libgda?rev=3087&view=rev

Log:
2008-03-18  Murray Cumming  <murrayc murrayc com>

* libgda/gda-client.c: (find_or_load_provider): Reverted the change 
here too, because it freed data that it did not own, causing a crash.

Modified:
   branches/release-3-0-branch/ChangeLog
   branches/release-3-0-branch/libgda/gda-client.c

Modified: branches/release-3-0-branch/libgda/gda-client.c
==============================================================================
--- branches/release-3-0-branch/libgda/gda-client.c	(original)
+++ branches/release-3-0-branch/libgda/gda-client.c	Tue Mar 18 13:23:30 2008
@@ -276,7 +276,7 @@
 	GdaProviderInfo *prv_info;
 	void (*plugin_init) (const gchar *);
 
-	prv_info = gda_config_get_provider_by_name (provider);
+	prv_info = gda_config_get_provider_by_name (provider); /* This should not be freed. */
 	if (!prv_info) {
 		emit_client_error (client, NULL,
 				   _("Could not find provider %s in the current setup"),
@@ -290,7 +290,6 @@
 
 	if (!prv->handle) {
 		emit_client_error (client, NULL, g_module_error ());
-		gda_provider_info_free(prv_info);
 		g_free (prv);
 		return NULL;
 	}
@@ -306,8 +305,6 @@
 		g_free (dirname);
 	}
 
-	gda_provider_info_free(prv_info);
-
 	g_module_symbol (prv->handle, "plugin_get_name",
 			 (gpointer) &prv->plugin_get_name);
 	g_module_symbol (prv->handle, "plugin_get_description",



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