diff options
author | Thomas Haller <thaller@redhat.com> | 2014-04-15 19:32:48 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2014-04-24 21:18:44 +0200 |
commit | 628e774ba84af1b28a9f1f872b6aa55c11bfaa2e (patch) | |
tree | 746bc26c9001e8e35a685c2dd2fdb00e00c39c22 | |
parent | 73d4edb0b788f6534ef1d818492a1c06477ce044 (diff) | |
download | NetworkManager-628e774ba84af1b28a9f1f872b6aa55c11bfaa2e.tar.gz |
ifcfg-rh: fix crash for reading invalid bridge configuration
Error found by coverity.
https://bugzilla.gnome.org/show_bug.cgi?id=728320
Signed-off-by: Thomas Haller <thaller@redhat.com>
-rw-r--r-- | src/settings/plugins/ifcfg-rh/reader.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c index 57e07ef4dc..be480d8616 100644 --- a/src/settings/plugins/ifcfg-rh/reader.c +++ b/src/settings/plugins/ifcfg-rh/reader.c @@ -215,17 +215,16 @@ make_connection_setting (const char *file, value = svGetValue (ifcfg, "BRIDGE", FALSE); if (value) { - const char *bridge; + const char *old_value; - if ((bridge = nm_setting_connection_get_master (s_con))) { + if ((old_value = nm_setting_connection_get_master (s_con))) { PARSE_WARNING ("Already configured as slave of %s. Ignoring BRIDGE=\"%s\"", - bridge, value); - g_free (value); + old_value, value); + } else { + g_object_set (s_con, NM_SETTING_CONNECTION_MASTER, value, NULL); + g_object_set (s_con, NM_SETTING_CONNECTION_SLAVE_TYPE, + NM_SETTING_BRIDGE_SETTING_NAME, NULL); } - - g_object_set (s_con, NM_SETTING_CONNECTION_MASTER, value, NULL); - g_object_set (s_con, NM_SETTING_CONNECTION_SLAVE_TYPE, - NM_SETTING_BRIDGE_SETTING_NAME, NULL); g_free (value); } |