2008-10-21 Dan Williams <dcbw@redhat.com>

* src/NetworkManager.c
		- (main): keep the DHCP manager around since it's a singleton; fixes
			a use-after-free exposed by r4196 since the DHCP manager singleton
			variable isn't cleared when the DHCP manager object is finalized



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4199 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Dan Williams 2008-10-21 11:07:42 +00:00
parent 07541a1eb8
commit 92e5e52019
2 changed files with 20 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2008-10-21 Dan Williams <dcbw@redhat.com>
* src/NetworkManager.c
- (main): keep the DHCP manager around since it's a singleton; fixes
a use-after-free exposed by r4196 since the DHCP manager singleton
variable isn't cleared when the DHCP manager object is finalized
2008-10-20 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-wireless-security.c

View file

@ -47,6 +47,7 @@
#include "nm-named-manager.h"
#include "nm-dbus-manager.h"
#include "nm-supplicant-manager.h"
#include "nm-dhcp-manager.h"
#include "nm-netlink-monitor.h"
#include "nm-vpn-manager.h"
#include "nm-logging.h"
@ -215,8 +216,9 @@ main (int argc, char *argv[])
NMPolicy *policy = NULL;
NMVPNManager *vpn_manager = NULL;
NMNamedManager *named_mgr = NULL;
NMDBusManager * dbus_mgr = NULL;
NMSupplicantManager * sup_mgr = NULL;
NMDBusManager *dbus_mgr = NULL;
NMSupplicantManager *sup_mgr = NULL;
NMDHCPManager *dhcp_mgr = NULL;
GOptionEntry options[] = {
{"no-daemon", 0, 0, G_OPTION_ARG_NONE, &become_daemon, "Don't become a daemon", NULL},
@ -327,6 +329,12 @@ main (int argc, char *argv[])
goto done;
}
dhcp_mgr = nm_dhcp_manager_get ();
if (!dhcp_mgr) {
nm_warning ("Failed to start the DHCP manager.");
goto done;
}
/* Start our DBus service */
if (!nm_dbus_manager_start_service (dbus_mgr)) {
nm_warning ("Failed to start the dbus manager.");
@ -355,6 +363,9 @@ done:
if (named_mgr)
g_object_unref (named_mgr);
if (dhcp_mgr)
g_object_unref (dhcp_mgr);
if (sup_mgr)
g_object_unref (sup_mgr);