Date: Thursday, January 26, 2017 @ 11:35:30 Author: heftig Revision: 287502
1.4.4-3: fix heap corruption Added: network-manager-applet/trunk/crash.diff Modified: network-manager-applet/trunk/PKGBUILD ------------+ PKGBUILD | 9 ++++++--- crash.diff | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-01-26 09:50:37 UTC (rev 287501) +++ PKGBUILD 2017-01-26 11:35:30 UTC (rev 287502) @@ -11,7 +11,7 @@ pkgdesc="Applet for managing network connections" url="https://wiki.gnome.org/Projects/NetworkManager/" pkgver=1.4.4 -pkgrel=2 +pkgrel=3 arch=(i686 x86_64) license=(GPL2 LGPL2.1) depends=(libnm-glib libgudev gtk3 mobile-broadband-provider-info iso-codes) @@ -18,8 +18,10 @@ makedepends=(libsecret libnotify libmm-glib intltool gobject-introspection git) options=(!emptydirs) _commit=da51a3a0373ac6f6429ed3eb2211e56a363c8b94 # tags/1.4.4^0 -source=("git+https://git.gnome.org/browse/network-manager-applet#commit=$_commit") -sha256sums=('SKIP') +source=("git+https://git.gnome.org/browse/network-manager-applet#commit=$_commit" + crash.diff) +sha256sums=('SKIP' + 'b529c587dd541a3ffb4f364deab0e17e3c7c02b9ca8109f824185660c53c7c5b') pkgver() { cd $pkgbase @@ -30,6 +32,7 @@ mkdir -p nma/etc/xdg nma/usr/bin \ nma/usr/share/{applications,icons/hicolor/22x22/apps,man/man1,nm-applet} cd $pkgbase + patch -Np1 -i ../crash.diff NOCONFIGURE=1 ./autogen.sh } Added: crash.diff =================================================================== --- crash.diff (rev 0) +++ crash.diff 2017-01-26 11:35:30 UTC (rev 287502) @@ -0,0 +1,26 @@ +diff --git i/src/connection-editor/page-master.c w/src/connection-editor/page-master.c +index 42d97da0771a7749..e73c08f5080e21fe 100644 +--- i/src/connection-editor/page-master.c ++++ w/src/connection-editor/page-master.c +@@ -196,16 +196,18 @@ get_device_for_connection (NMClient *client, NMConnection *conn) + if ( !nm_setting_connection_get_interface_name (s_con) + && !nm_connection_get_interface_name (conn)) { + NMSetting *s_hw; +- GByteArray *mac_address; ++ gchar *mac_address; + + s_hw = nm_connection_get_setting_by_name (conn, nm_setting_connection_get_connection_type (s_con)); + if (!s_hw || !g_object_class_find_property (G_OBJECT_GET_CLASS (s_hw), "mac-address")) + return NULL; + + g_object_get (G_OBJECT (s_hw), "mac-address", &mac_address, NULL); +- if (!mac_address) ++ if (!mac_address || !mac_address[0]) { ++ g_free (mac_address); + return NULL; +- g_byte_array_unref (mac_address); ++ } ++ g_free (mac_address); + } + + /* OK, now find that device */