diff options
author | Thomas Haller <thaller@redhat.com> | 2016-05-16 15:06:44 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-05-17 12:22:41 +0200 |
commit | 8e6d619c46ed50b8be7512dc1db42683f7f9073c (patch) | |
tree | a99766adbed1bc874c06bbdc40590715bbacc0f3 | |
parent | 25bf73292cfe88c179095eef4f2535ec74a2f639 (diff) | |
download | NetworkManager-8e6d619c46ed50b8be7512dc1db42683f7f9073c.tar.gz |
ifcfg-rh: use _nm_utils_ascii_str_to_int64() in reader's get_uint()/get_int() functions
-rw-r--r-- | src/settings/plugins/ifcfg-rh/reader.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c index 0596edc1ad..fb9b0fa8ad 100644 --- a/src/settings/plugins/ifcfg-rh/reader.c +++ b/src/settings/plugins/ifcfg-rh/reader.c @@ -64,12 +64,10 @@ static gboolean get_int (const char *str, int *value) { - char *e; - long int tmp; + gint64 tmp; - errno = 0; - tmp = strtol (str, &e, 0); - if (errno || *e != '\0' || tmp > G_MAXINT || tmp < G_MININT) + tmp = _nm_utils_ascii_str_to_int64 (str, 0, G_MININT, G_MAXINT, 0); + if (tmp == 0 && errno) return FALSE; *value = (int) tmp; return TRUE; @@ -78,14 +76,12 @@ get_int (const char *str, int *value) static gboolean get_uint (const char *str, guint32 *value) { - char *e; - long unsigned int tmp; + gint64 tmp; - errno = 0; - tmp = strtoul (str, &e, 0); - if (errno || *e != '\0') + tmp = _nm_utils_ascii_str_to_int64 (str, 0, 0, G_MAXUINT32, -1); + if (tmp == -1) return FALSE; - *value = (guint32) tmp; + *value = tmp; return TRUE; } @@ -2201,10 +2197,10 @@ make_wep_setting (shvarFile *ifcfg, } else { g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION, "Invalid default WEP key '%s'", value); - g_free (value); + g_free (value); goto error; } - g_free (value); + g_free (value); } /* Read WEP key flags */ |