summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2018-04-16 16:45:28 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2018-04-16 16:46:00 +0200
commitdb6d6f64a192a37288e75535c97b107569766ebf (patch)
tree1b30dbd2153acba8e5634caab14853f4cb58080b
parenta63c30431d67509af84bc189aa2c31bab83e90a4 (diff)
downloadNetworkManager-bg/ifcfg-rh-tc-fixes.tar.gz
ifcfg-rh: fix parse of tc qdiscs and filtersbg/ifcfg-rh-tc-fixes
Fixes: 902bbfdb1878ca54989e7aec6c5d92d1c580e885
-rw-r--r--src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
index 51a72d7e15..0f9c293daa 100644
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
@@ -1995,11 +1995,15 @@ make_tc_setting (shvarFile *ifcfg)
break;
qdisc = nm_utils_tc_qdisc_from_str (value, &local);
- if (!qdisc)
- PARSE_WARNING ("ignoring bad qdisc: '%s': %s", value, local->message);
+ if (!qdisc) {
+ PARSE_WARNING ("ignoring bad tc qdisc: '%s': %s", value, local->message);
+ continue;
+ }
if (!nm_setting_tc_config_add_qdisc (s_tc, qdisc))
- PARSE_WARNING ("duplicate qdisc");
+ PARSE_WARNING ("duplicate tc qdisc");
+
+ nm_tc_qdisc_unref (qdisc);
}
for (i = 1;; i++) {
@@ -2013,11 +2017,15 @@ make_tc_setting (shvarFile *ifcfg)
break;
tfilter = nm_utils_tc_tfilter_from_str (value, &local);
- if (!tfilter)
- PARSE_WARNING ("ignoring bad tfilter: '%s': %s", value, local->message);
+ if (!tfilter) {
+ PARSE_WARNING ("ignoring bad tc filter: '%s': %s", value, local->message);
+ continue;
+ }
if (!nm_setting_tc_config_add_tfilter (s_tc, tfilter))
- PARSE_WARNING ("duplicate filter");
+ PARSE_WARNING ("duplicate tc filter");
+
+ nm_tc_tfilter_unref (tfilter);
}
if ( nm_setting_tc_config_get_num_qdiscs (s_tc) > 0