summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2014-04-15 19:32:48 +0200
committerThomas Haller <thaller@redhat.com>2014-04-24 21:18:44 +0200
commit628e774ba84af1b28a9f1f872b6aa55c11bfaa2e (patch)
tree746bc26c9001e8e35a685c2dd2fdb00e00c39c22
parent73d4edb0b788f6534ef1d818492a1c06477ce044 (diff)
downloadNetworkManager-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.c15
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);
}