diff --git a/NetworkManager.spec b/NetworkManager.spec index 108b88c..43a09a7 100644 --- a/NetworkManager.spec +++ b/NetworkManager.spec @@ -13,7 +13,7 @@ Name: NetworkManager Summary: Network connection manager and user applications Epoch: 1 Version: 0.7.0 -Release: 0.5.%{snapshot}%{?dist} +Release: 0.6.1.%{snapshot}%{?dist} Group: System Environment/Base License: GPLv2+ URL: http://www.gnome.org/projects/NetworkManager/ @@ -21,6 +21,7 @@ Source: %{name}-%{version}.%{snapshot}.tar.gz Source1: nm-applet-%{version}.svn302.tar.gz Patch1: NetworkManager-0.6.5-fixup-internal-applet-build.patch Patch2: nm-applet-0.7.0-disable-stuff.patch +Patch3: nm-applet-0.7.0-applet-usb-vendor-fix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) PreReq: chkconfig @@ -126,6 +127,7 @@ NetworkManager functionality from applications that use glib. tar -xzf %{SOURCE1} %patch1 -p1 -b .buildfix %patch2 -p1 -b .disable-stuff +%patch3 -p1 -b .applet-usb-vendor-fix %build # Even though we don't require named, we still build with it @@ -260,6 +262,10 @@ fi %changelog +* Thu Nov 1 2007 Dan Williams - 1:0.7.0-0.6.1.svn3030 +- Fix applet crash with USB devices that don't advertise a product or vendor + (rh #337191) + * Sat Oct 27 2007 Dan Williams - 1:0.7.0-0.5.svn3030 - Fix crash when getting WPA secrets (rh #355041) diff --git a/nm-applet-0.7.0-applet-usb-vendor-fix.patch b/nm-applet-0.7.0-applet-usb-vendor-fix.patch new file mode 100644 index 0000000..45d8031 --- /dev/null +++ b/nm-applet-0.7.0-applet-usb-vendor-fix.patch @@ -0,0 +1,20 @@ +diff -up NetworkManager-0.7.0/nm-applet-0.7.0/src/applet.c.usb-vendor-fix NetworkManager-0.7.0/nm-applet-0.7.0/src/applet.c +--- NetworkManager-0.7.0/nm-applet-0.7.0/src/applet.c.usb-vendor-fix 2007-11-01 06:49:55.000000000 -0400 ++++ NetworkManager-0.7.0/nm-applet-0.7.0/src/applet.c 2007-11-01 06:50:57.000000000 -0400 +@@ -1515,6 +1515,16 @@ sort_devices (gconstpointer a, gconstpoi + char *bb_desc = nm_device_get_description (bb); + gint ret; + ++ if (!aa_desc && bb_desc) { ++ g_free (bb_desc); ++ return -1; ++ } else if (aa_desc && !bb_desc) { ++ g_free (aa_desc); ++ return 1; ++ } else if (!aa_desc && !bb_desc) { ++ return 0; ++ } ++ + ret = strcmp (aa_desc, bb_desc); + + g_free (aa_desc);