From 7328613d7bb3853095ac4d1e2949293a31e78fc9 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 16 May 2016 15:14:07 +0200 Subject: [PATCH] ifcfg-rh: don't use get_int() to parse MTU value And print a warning also if the value is out of range. --- src/settings/plugins/ifcfg-rh/reader.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c index a2e8c46883..60bf4ca40b 100644 --- a/src/settings/plugins/ifcfg-rh/reader.c +++ b/src/settings/plugins/ifcfg-rh/reader.c @@ -3773,20 +3773,19 @@ make_wired_setting (shvarFile *ifcfg, { NMSettingWired *s_wired; char *value = NULL; - int mtu; char *nettype; s_wired = NM_SETTING_WIRED (nm_setting_wired_new ()); value = svGetValue (ifcfg, "MTU", FALSE); if (value) { - if (get_int (value, &mtu)) { - if (mtu >= 0 && mtu < 65536) - g_object_set (s_wired, NM_SETTING_WIRED_MTU, (guint) mtu, NULL); - } else { - /* Shouldn't be fatal... */ + int mtu; + + mtu = _nm_utils_ascii_str_to_int64 (value, 0, 0, 65535, -1); + if (mtu >= 0) + g_object_set (s_wired, NM_SETTING_WIRED_MTU, (guint) mtu, NULL); + else PARSE_WARNING ("invalid MTU '%s'", value); - } g_free (value); } @@ -4024,19 +4023,18 @@ make_infiniband_setting (shvarFile *ifcfg, { NMSettingInfiniband *s_infiniband; char *value = NULL; - int mtu; s_infiniband = NM_SETTING_INFINIBAND (nm_setting_infiniband_new ()); value = svGetValue (ifcfg, "MTU", FALSE); if (value) { - if (get_int (value, &mtu)) { - if (mtu >= 0 && mtu < 65536) - g_object_set (s_infiniband, NM_SETTING_INFINIBAND_MTU, (guint) mtu, NULL); - } else { - /* Shouldn't be fatal... */ + int mtu; + + mtu = _nm_utils_ascii_str_to_int64 (value, 0, 0, 65535, -1); + if (mtu >= 0) + g_object_set (s_infiniband, NM_SETTING_INFINIBAND_MTU, (guint) mtu, NULL); + else PARSE_WARNING ("invalid MTU '%s'", value); - } g_free (value); }