fix memory leaks

This commit is contained in:
Matthias Clasen 2007-09-11 12:58:58 +00:00
parent 5bd4b997ea
commit a4e7ad378e
2 changed files with 25 additions and 1 deletions

View File

@ -12,7 +12,7 @@
Summary: GNOME session manager
Name: gnome-session
Version: 2.19.92
Release: 2%{?dist}
Release: 3%{?dist}
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/gnome-session/2.19/%{name}-%{version}.tar.bz2
Source1: redhat-default-session
@ -57,6 +57,9 @@ Patch20: gnome-session-2.19.4-atspi-timeout.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=411506
#Patch21: gnome-session-2.17.91-use-gdm-at-hints-3.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=475468
Patch22: ice-leaks.patch
BuildRequires: esound-devel >= %{esound_version}
BuildRequires: /usr/bin/esd
BuildRequires: libgnomeui-devel >= %{libgnomeui_version}
@ -101,6 +104,7 @@ GNOME components and handles logout and saving the session.
%patch13 -p1 -b .window-manager
%patch20 -p1 -b .timeout
#%patch21 -p0 -b .use-gdm-hints
%patch22 -p1 -b .ice-leaks
%build
@ -185,6 +189,9 @@ fi
%doc %{_datadir}/man/man*/*
%changelog
* Tue Sep 11 2007 Matthias Clasen <mclasen@redhat.com> - 2.19.92-3
- Plug memory leaks in the ICE code
* Wed Sep 5 2007 Kristian Høgsberg <krh@redhat.com> - 2.19.92-2
- Update gnome-session-2.17.5-window-manager.patch to apply (remove
chunks that are now upstream).

17
ice-leaks.patch Normal file
View File

@ -0,0 +1,17 @@
diff -up gnome-session-2.19.92/gnome-session/ice.c.ice-leaks gnome-session-2.19.92/gnome-session/ice.c
--- gnome-session-2.19.92/gnome-session/ice.c.ice-leaks 2007-09-11 01:56:57.000000000 -0400
+++ gnome-session-2.19.92/gnome-session/ice.c 2007-09-11 01:57:49.000000000 -0400
@@ -455,10 +455,13 @@ clean_ice (void)
/* During shutdown we don't want to report errors via a dialog. */
write_authfile (authfile, entries, FALSE);
+ g_slist_foreach (entries, (GFunc)IceFreeAuthFileEntry, NULL);
g_slist_free (entries);
g_free (input_id);
IceFreeListenObjs (num_sockets, sockets);
+
+ g_slist_foreach (auth_entries, (GFunc)IceFreeAuthFileEntry, NULL);
g_slist_free (auth_entries);
ice_depth = ~0; /* We are very frozen, like totally off */