diff options
author | Beniamino Galvani <bgalvani@redhat.com> | 2018-04-16 16:45:28 +0200 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2018-04-16 16:46:00 +0200 |
commit | db6d6f64a192a37288e75535c97b107569766ebf (patch) | |
tree | 1b30dbd2153acba8e5634caab14853f4cb58080b | |
parent | a63c30431d67509af84bc189aa2c31bab83e90a4 (diff) | |
download | NetworkManager-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.c | 20 |
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 |