rpms/gdm/devel gdm-2.8.0.4-clean-up-leaks.patch, NONE, 1.1 gdm.spec, 1.91, 1.92 gdm-2.8.0.2-clean-up-leaks.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Sep 8 19:16:57 UTC 2005


Author: rstrode

Update of /cvs/dist/rpms/gdm/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv26127

Modified Files:
	gdm.spec 
Added Files:
	gdm-2.8.0.4-clean-up-leaks.patch 
Removed Files:
	gdm-2.8.0.2-clean-up-leaks.patch 
Log Message:
- update to 2.8.0.4


gdm-2.8.0.4-clean-up-leaks.patch:
 daemon/auth.c                     |    1 +
 daemon/gdm.c                      |    9 +++++++++
 daemon/slave.c                    |   18 ++++++++++++++----
 daemon/verify-pam.c               |   10 +++++-----
 gui/gdmchooser.c                  |    3 +++
 gui/gdmcomm.c                     |    1 +
 gui/gdmdynamic.c                  |    1 +
 gui/gdmlogin.c                    |    4 +++-
 gui/gdmphotosetup.c               |    4 +++-
 gui/gdmsetup.c                    |    1 +
 gui/greeter/greeter.c             |    1 +
 gui/greeter/greeter_canvas_item.c |   12 ++++++++++--
 gui/greeter/greeter_session.c     |    3 ++-
 gui/modules/keymouselistener.c    |    2 +-
 utils/gdm-dmx-reconnect-proxy.c   |    1 +
 vicious-extensions/ve-misc.c      |    2 ++
 16 files changed, 58 insertions(+), 15 deletions(-)

--- NEW FILE gdm-2.8.0.4-clean-up-leaks.patch ---
--- gdm-2.8.0.4/utils/gdm-dmx-reconnect-proxy.c.clean-up-leaks	2005-07-20 15:05:20.000000000 -0400
+++ gdm-2.8.0.4/utils/gdm-dmx-reconnect-proxy.c	2005-09-08 15:01:22.000000000 -0400
@@ -99,6 +99,7 @@
 	options_context = g_option_context_new (_("- migrate a backend display from one DMX display to another"));
 	g_option_context_add_main_entries (options_context, options, GETTEXT_PACKAGE);
 	g_option_context_parse (options_context, &argc, &argv, NULL);
+	g_option_context_free (options_context);
 
 	if (to_display == NULL) {
 		g_printerr (_("You must specify a destination DMX display using %s\n"), "--to");
--- gdm-2.8.0.4/gui/gdmlogin.c.clean-up-leaks	2005-09-08 15:01:22.000000000 -0400
+++ gdm-2.8.0.4/gui/gdmlogin.c	2005-09-08 15:01:22.000000000 -0400
@@ -1757,8 +1757,10 @@
 		return TRUE;
 
 	for (i = 0; vec[i] != NULL; i++) {
-		if (strcmp (vec[i], theme) == 0)
+		if (strcmp (vec[i], theme) == 0) {
+			g_strfreev (vec);
 			return TRUE;
+		}
 	}
 
 	g_strfreev (vec);
--- gdm-2.8.0.4/gui/gdmchooser.c.clean-up-leaks	2005-07-23 00:17:36.000000000 -0400
+++ gdm-2.8.0.4/gui/gdmchooser.c	2005-09-08 15:01:22.000000000 -0400
@@ -1402,6 +1402,7 @@
 					gtk_dialog_run (GTK_DIALOG (dialog));
 					gtk_widget_destroy (dialog);
 					gdm_wm_no_login_focus_pop ();
+					g_free (qa);
 					return; /* not a valid address */
 				}
 #ifdef ENABLE_IPV6
@@ -1565,6 +1566,7 @@
 
     syslog (LOG_ERR, "%s", s);
     closelog ();
+    g_free (s);
 
     exit (EXIT_FAILURE);
 }
@@ -1581,6 +1583,7 @@
 
     syslog (LOG_ERR, "%s", s);
     closelog ();
+    g_free (s);
 }
 
 
--- gdm-2.8.0.4/gui/gdmsetup.c.clean-up-leaks	2005-08-08 18:05:00.000000000 -0400
+++ gdm-2.8.0.4/gui/gdmsetup.c	2005-09-08 15:01:22.000000000 -0400
@@ -338,6 +338,7 @@
 		int vt = atoi(key);
 		key = g_strconcat(GDM_KEY_SECTION_SERVERS, "/", key, NULL);
 		cpy = ve_config_get_string (cfg, key);
+		g_free (key);
 		server = ve_first_word (cpy);
 		options = ve_rest (cpy);
 		
--- gdm-2.8.0.4/gui/gdmphotosetup.c.clean-up-leaks	2005-07-25 20:35:35.000000000 -0400
+++ gdm-2.8.0.4/gui/gdmphotosetup.c	2005-09-08 15:01:22.000000000 -0400
@@ -375,8 +375,10 @@
 
 		path = g_build_filename (facedir, filename, NULL);
 		pixbuf = gdk_pixbuf_new_from_file (path, NULL);
-		if (! pixbuf)
+		if (! pixbuf) {
+			g_free (path);
 			continue;
+		}
 
 		gtk_list_store_prepend (store, &iter);
 
--- gdm-2.8.0.4/gui/gdmcomm.c.clean-up-leaks	2005-07-23 00:17:36.000000000 -0400
+++ gdm-2.8.0.4/gui/gdmcomm.c	2005-09-08 15:01:22.000000000 -0400
@@ -352,6 +352,7 @@
 
 		cmd = g_strdup_printf (GDM_SUP_AUTH_LOCAL " %s", buffer);
 		ret = gdmcomm_call_gdm (cmd, NULL /* auth cookie */, "2.2.4.0", 5);
+		g_free (cmd);
 		if (ret != NULL &&
 		    strcmp (ret, "OK") == 0) {
 			g_free (ret);
--- gdm-2.8.0.4/gui/greeter/greeter.c.clean-up-leaks	2005-09-08 15:01:22.000000000 -0400
+++ gdm-2.8.0.4/gui/greeter/greeter.c	2005-09-08 15:01:22.000000000 -0400
@@ -1226,6 +1226,7 @@
     }
 
   config = ve_config_new (info);
+  g_free (info);
 
   s = ve_config_get_translated_string (config, "GdmGreeterTheme/Greeter");
   if (s == NULL || s[0] == '\0')
--- gdm-2.8.0.4/gui/greeter/greeter_session.c.clean-up-leaks	2005-09-08 15:01:22.000000000 -0400
+++ gdm-2.8.0.4/gui/greeter/greeter_session.c	2005-09-08 15:01:22.000000000 -0400
@@ -114,7 +114,8 @@
       if (!greeter_login_list_lookup (sessions, session))
 	{
 	  gchar *msg;
-	  
+
+	  g_free(session);	  
 	  session = g_strdup (default_session);
 	  msg = g_strdup_printf (_("Your preferred session type %s is not "
 				   "installed on this computer.\n"
--- gdm-2.8.0.4/gui/greeter/greeter_canvas_item.c.clean-up-leaks	2005-07-20 15:09:36.000000000 -0400
+++ gdm-2.8.0.4/gui/greeter/greeter_canvas_item.c	2005-09-08 15:01:22.000000000 -0400
@@ -565,8 +565,12 @@
 		gnome_canvas_item_set (GNOME_CANVAS_ITEM (canvas_item), textattr, orig, NULL);
 		pango_layout_get_pixel_size (GNOME_CANVAS_TEXT (canvas_item)->layout, width, height);
 
-		if (real_item != canvas_item)
+		if (real_item != canvas_item) {
 			gtk_object_destroy (GTK_OBJECT (canvas_item));
+			g_string_free (line, TRUE);
+			g_string_free (word, TRUE);
+			g_string_free (str, TRUE);
+		}
 		return;
 	}
 
@@ -579,8 +583,12 @@
 			*width = lwidth;
 		if (height != NULL)
 			*height = lheight;
-		if (real_item != canvas_item)
+		if (real_item != canvas_item) {
 			gtk_object_destroy (GTK_OBJECT (canvas_item));
+			g_string_free (line, TRUE);
+			g_string_free (word, TRUE);
+			g_string_free (str, TRUE);
+		}
 		return;
 	}
 
--- gdm-2.8.0.4/gui/modules/keymouselistener.c.clean-up-leaks	2005-09-06 01:33:14.000000000 -0400
+++ gdm-2.8.0.4/gui/modules/keymouselistener.c	2005-09-08 15:05:20.000000000 -0400
@@ -174,7 +174,7 @@
 			device = XOpenDevice (GDK_DISPLAY_XDISPLAY (display),
 				devices[i].id);
 
-			for (j=0; j < device->num_classes && number < 40; j++) {
+			for (j=0; j < device->num_classes && number < 39; j++) {
 
 				switch (device->classes[j].input_class) 
 				{
--- gdm-2.8.0.4/gui/gdmdynamic.c.clean-up-leaks	2005-07-23 00:17:36.000000000 -0400
+++ gdm-2.8.0.4/gui/gdmdynamic.c	2005-09-08 15:05:20.000000000 -0400
@@ -169,6 +169,7 @@
             cookie = g_strdup(buf);
             VE_IGNORE_EINTR (fclose (fp));
         }
+	g_free (filename);
     }
 
     ret = gdmcomm_call_gdm (cstr, cookie, version, 5);
--- gdm-2.8.0.4/daemon/slave.c.clean-up-leaks	2005-09-08 15:01:22.000000000 -0400
+++ gdm-2.8.0.4/daemon/slave.c	2005-09-08 15:05:20.000000000 -0400
@@ -1206,16 +1206,20 @@
 	if (d->type != TYPE_XDMCP_PROXY) {
 		int r;
 
-		if (!GdmDoubleLoginWarning)
+		if (!GdmDoubleLoginWarning) {
+			g_free (migrate_to);
 			return TRUE;
+		}
 
 		if (GdmAlwaysLoginCurrentSession)
 			r = 1;
 		else
 			r = ask_migrate (migrate_to);
 
-		if (r <= 0)
+		if (r <= 0) {
+			g_free (migrate_to);
 			return TRUE;
+		}
 
 		if (migrate_to == NULL ||
 		    (migrate_to != NULL && r == 2)) {
@@ -2338,15 +2342,17 @@
 	picfile = g_build_filename (GdmGlobalFaceDir,
 				    username, NULL);
 
-	if (check_global_file (picfile, uid))
+	if (check_global_file (picfile, uid)) 
 		return picfile;
 
+	g_free (picfile);
 	picfile = gdm_make_filename (GdmGlobalFaceDir,
 				     username, ".png");
 
-	if (check_global_file (picfile, uid))
+	if (check_global_file (picfile, uid)) 
 		return picfile;
 
+	g_free (picfile);
 	return NULL;
 }
 
@@ -3512,6 +3518,7 @@
 			VE_IGNORE_EINTR (ent = readdir (dir));
 		}
 		VE_IGNORE_EINTR (closedir (dir));
+		g_free (prefix);
 	}
 
 	NEVER_FAILS_root_set_euid_egid (old, oldg);
@@ -3735,6 +3742,7 @@
 					     language, _("System default"));
 		gdm_error_box (d, GTK_MESSAGE_ERROR, msg);
 		language = NULL;
+		g_free (msg);
 	}
 
 	/* Now still as root make the system authfile not readable by others,
@@ -4233,6 +4241,7 @@
 		    gdm_debug ("User canceled login");
 		    gdm_verify_cleanup (d);
 		    session_started = FALSE;
+		    g_free (usrlang);
 		    return;
 	    }
 
@@ -4242,6 +4251,7 @@
 		    gdm_debug ("User canceled login");
 		    gdm_verify_cleanup (d);
 		    session_started = FALSE;
+		    g_free (usrlang);
 		    return;
 	    }
     } else {
--- gdm-2.8.0.4/daemon/gdm.c.clean-up-leaks	2005-08-20 14:39:33.000000000 -0400
+++ gdm-2.8.0.4/daemon/gdm.c	2005-09-08 15:05:20.000000000 -0400
@@ -313,6 +313,7 @@
         if (GdmConsoleNotify)
 		    gdm_text_message_dialog (s);
 	    GdmPidFile = NULL;
+	    g_free (s);
 	    gdm_fail (_("%s: Authdir %s does not exist. Aborting."), "gdm_config_parse", GdmServAuthDir);
     }
 
@@ -326,6 +327,7 @@
         if (GdmConsoleNotify)
 		    gdm_text_message_dialog (s);
 	    GdmPidFile = NULL;
+	    g_free (s);
 	    gdm_fail (_("%s: Authdir %s is not a directory. Aborting."), "gdm_config_parse", GdmServAuthDir);
     }
 }
@@ -741,6 +743,7 @@
 				   "and restart GDM.")));
 		    gdm_text_message_dialog (s);
 		    GdmPidFile = NULL;
+		    g_free (s);
 		    gdm_fail (_("%s: XDMCP disabled and no static servers defined. Aborting!"), "gdm_config_parse");
 	    }
     }
@@ -765,6 +768,7 @@
         if (GdmConsoleNotify)
 		    gdm_text_message_dialog (s);
 	    GdmPidFile = NULL;
+	    g_free (s);
 	    gdm_fail (_("%s: Can't find the GDM user '%s'. Aborting!"), "gdm_config_parse", GdmUser);
     } else {
 	    GdmUserId = pwent->pw_uid;
@@ -780,6 +784,7 @@
         if (GdmConsoleNotify)
 		    gdm_text_message_dialog (s);
 	    GdmPidFile = NULL;
+	    g_free (s);
 	    gdm_fail (_("%s: The GDM user should not be root. Aborting!"), "gdm_config_parse");
     }
 
@@ -794,6 +799,7 @@
         if (GdmConsoleNotify)
 		    gdm_text_message_dialog (s);
 	    GdmPidFile = NULL;
+	    g_free (s);
 	    gdm_fail (_("%s: Can't find the GDM group '%s'. Aborting!"), "gdm_config_parse", GdmGroup);
     } else  {
 	    GdmGroupId = grent->gr_gid;   
@@ -809,6 +815,7 @@
         if (GdmConsoleNotify)
 		    gdm_text_message_dialog (s);
 	    GdmPidFile = NULL;
+	    g_free (s);
 	    gdm_fail (_("%s: The GDM group should not be root. Aborting!"), "gdm_config_parse");
     }
 
@@ -887,6 +894,7 @@
         if (GdmConsoleNotify)
 		    gdm_text_message_dialog (s);
 	    GdmPidFile = NULL;
+	    g_free (s);
 	    gdm_fail (_("%s: Authdir %s is not owned by user %s, group %s. Aborting."), "gdm_config_parse", 
 		      GdmServAuthDir, gdm_root_user (), GdmGroup);
     }
@@ -904,6 +912,7 @@
         if (GdmConsoleNotify)
 		    gdm_text_message_dialog (s);
 	    GdmPidFile = NULL;
+	    g_free (s);
 	    gdm_fail (_("%s: Authdir %s has wrong permissions %o. Should be %o. Aborting."), "gdm_config_parse", 
 		      GdmServAuthDir, statbuf.st_mode, (S_IRWXU|S_IRWXG|S_ISVTX));
     }
--- gdm-2.8.0.4/daemon/verify-pam.c.clean-up-leaks	2005-07-21 15:45:00.000000000 -0400
+++ gdm-2.8.0.4/daemon/verify-pam.c	2005-09-08 15:05:20.000000000 -0400
@@ -385,17 +385,17 @@
     if (pamh == NULL)
 	return PAM_CONV_ERR;
     
-    reply = malloc (sizeof (struct pam_response) * num_msg);
-    
-    if (reply == NULL)
-	return PAM_CONV_ERR;
-
     /* Should never happen unless PAM is on crack and keeps asking questions
        after we told it to go away.  So tell it to go away again and
        maybe it will listen */
     if ( ! gdm_slave_action_pending ())
         return PAM_CONV_ERR;
 
+    reply = malloc (sizeof (struct pam_response) * num_msg);
+    
+    if (reply == NULL)
+	return PAM_CONV_ERR;
+
     memset (reply, 0, sizeof (struct pam_response) * num_msg);
 
     /* Here we set the login if it wasn't already set,
--- gdm-2.8.0.4/daemon/auth.c.clean-up-leaks	2005-05-16 22:52:51.000000000 -0400
+++ gdm-2.8.0.4/daemon/auth.c	2005-09-08 15:05:20.000000000 -0400
@@ -606,6 +606,7 @@
 
     if (d->local_auths == NULL) {
 	    gdm_error ("Can't make cookies");
+	    g_free (authdir);
 	    return FALSE;
     }
 
--- gdm-2.8.0.4/vicious-extensions/ve-misc.c.clean-up-leaks	2004-05-28 15:22:56.000000000 -0400
+++ gdm-2.8.0.4/vicious-extensions/ve-misc.c	2005-09-08 15:05:20.000000000 -0400
@@ -461,10 +461,12 @@
 		/* Do not use X_OK, we may be looking for things
 		   that are not executables */
 		if (access (full, F_OK) == 0) {
+			g_strfreev(vec);
 			return full;
 		}
 		g_free (full);
 	}
+	g_strfreev(vec);
 	return NULL;
 }
 


Index: gdm.spec
===================================================================
RCS file: /cvs/dist/rpms/gdm/devel/gdm.spec,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- gdm.spec	6 Sep 2005 20:29:07 -0000	1.91
+++ gdm.spec	8 Sep 2005 19:16:55 -0000	1.92
@@ -15,8 +15,8 @@
 
 Summary: The GNOME Display Manager.
 Name: gdm
-Version: 2.8.0.2
-Release: 4
+Version: 2.8.0.4
+Release: 1
 Epoch: 1
 License: LGPL/GPL
 Group: User Interface/X
@@ -40,7 +40,7 @@
 Patch12: gdm-2.8.0.2-process-all-messages.patch
 Patch13: gdm-2.8.0.2-prune-lang-list.patch
 Patch14: gdm-2.8.0.2-hide-throbber.patch
-Patch15: gdm-2.8.0.2-clean-up-leaks.patch
+Patch15: gdm-2.8.0.4-clean-up-leaks.patch
 
 BuildRoot: %{_tmppath}/gdm-%{PACKAGE_VERSION}-root
 
@@ -276,6 +276,9 @@
 %attr(1770, root, gdm) %dir %{_localstatedir}/gdm
 
 %changelog
+* Thu Sep  8 2005 Ray Strode <rstrode at redhat.com> 1:2.8.0.4-1
+- update to 2.8.0.4
+
 * Tue Sep  6 2005 Ray Strode <rstrode at redhat.com> 1:2.8.0.2-4
 - Apply clean up patch from Steve Grubb (gnome bug 315388).
 


--- gdm-2.8.0.2-clean-up-leaks.patch DELETED ---




More information about the fedora-cvs-commits mailing list