diff --git a/wpa_supplicant-0.5.7-fix-signal-leaks.patch b/wpa_supplicant-0.5.7-fix-signal-leaks.patch new file mode 100644 index 0000000..aae15f8 --- /dev/null +++ b/wpa_supplicant-0.5.7-fix-signal-leaks.patch @@ -0,0 +1,43 @@ +diff -up wpa_supplicant-0.5.7/ctrl_iface_dbus.c.signal-leak-fix wpa_supplicant-0.5.7/ctrl_iface_dbus.c +--- wpa_supplicant-0.5.7/ctrl_iface_dbus.c.signal-leak-fix 2007-12-06 18:10:22.000000000 -0500 ++++ wpa_supplicant-0.5.7/ctrl_iface_dbus.c 2007-12-06 18:11:38.000000000 -0500 +@@ -649,6 +649,7 @@ void wpa_supplicant_dbus_notify_scan_res + return; + } + dbus_connection_send(iface->con, signal, NULL); ++ dbus_message_unref (signal); + } + + +@@ -666,7 +667,7 @@ void wpa_supplicant_dbus_notify_state_ch + wpa_states old_state) + { + struct ctrl_iface_dbus_priv *iface; +- DBusMessage *signal; ++ DBusMessage *signal = NULL; + const char *path; + const char *new_state_str, *old_state_str; + +@@ -711,7 +712,7 @@ void wpa_supplicant_dbus_notify_state_ch + wpa_printf(MSG_ERROR, + "wpa_supplicant_dbus_notify_state_change[dbus]: " + "couldn't convert state strings."); +- return; ++ goto out; + } + + if (!dbus_message_append_args(signal, +@@ -724,8 +725,13 @@ void wpa_supplicant_dbus_notify_state_ch + "wpa_supplicant_dbus_notify_state_change[dbus]: " + "not enough memory to construct state change " + "signal."); ++ goto out; + } ++ + dbus_connection_send(iface->con, signal, NULL); ++ ++out: ++ dbus_message_unref (signal); + } + + diff --git a/wpa_supplicant.changes b/wpa_supplicant.changes index 081cb9b..8887d81 100644 --- a/wpa_supplicant.changes +++ b/wpa_supplicant.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Dec 18 18:26:27 CET 2007 - jg@suse.de + +- Fix two leaks when signalling state and scan results (rh #408141) + ------------------------------------------------------------------- Wed Nov 14 13:36:33 CET 2007 - jg@suse.de diff --git a/wpa_supplicant.spec b/wpa_supplicant.spec index 81ab60b..adcdb9f 100644 --- a/wpa_supplicant.spec +++ b/wpa_supplicant.spec @@ -17,7 +17,7 @@ BuildRequires: madwifi-devel %endif Url: http://hostap.epitest.fi/wpa_supplicant/ Version: 0.5.8 -Release: 53 +Release: 65 License: BSD 3-Clause; GPL v2 or later Group: Productivity/Networking/Other Summary: WPA supplicant implementation @@ -37,6 +37,7 @@ Patch8: wpa_supplicant-dbus-iface-segfault-fix.patch Patch9: wpa_supplicant-dbus-blobs.patch Patch10: wpa_supplicant-dbus-permissions-fix.patch Patch11: wpa_supplicant-fix-dynamic-wep-with-mac80211.patch +Patch12: wpa_supplicant-0.5.7-fix-signal-leaks.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -81,6 +82,7 @@ cp %{SOURCE1} .config %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 %build %ifarch %ix86 x86_64 @@ -126,7 +128,10 @@ install -m 755 wpa_gui-qt4/wpa_gui %{buildroot}%{_sbindir} %files gui %defattr(-,root,root) /usr/sbin/wpa_gui + %changelog +* Tue Dec 18 2007 - jg@suse.de +- Fix two leaks when signalling state and scan results (rh #408141) * Wed Nov 14 2007 - jg@suse.de - enable dbus interface - apply fixes from Dan Williams