summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2013-12-04 14:18:31 +0100
committerThomas Haller <thaller@redhat.com>2013-12-09 18:26:44 +0100
commit9af77c570e50a0ae91f1fee4377beef4a56cbc10 (patch)
tree88c14eaa915ea92f320bbffc0926800b403b7b2d
parent8d3618a07baccc8abd9cfe7cf5b000b5d8c3340b (diff)
downloadNetworkManager-9af77c570e50a0ae91f1fee4377beef4a56cbc10.tar.gz
keyfile: be more strict when reading integer values
Signed-off-by: Thomas Haller <thaller@redhat.com>
-rw-r--r--src/settings/plugins/keyfile/reader.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/settings/plugins/keyfile/reader.c b/src/settings/plugins/keyfile/reader.c
index 6949d1e5b1..32543074f3 100644
--- a/src/settings/plugins/keyfile/reader.c
+++ b/src/settings/plugins/keyfile/reader.c
@@ -97,10 +97,11 @@ static gboolean
get_one_int (const char *str, guint32 max_val, const char *key_name, guint32 *out)
{
long tmp;
+ char *endptr;
errno = 0;
- tmp = strtol (str, NULL, 10);
- if (errno || (tmp < 0) || (tmp > max_val)) {
+ tmp = strtol (str, &endptr, 10);
+ if (errno || (tmp < 0) || (tmp > max_val) || *endptr != 0) {
g_warning ("%s: ignoring invalid IP %s item '%s'", __func__, key_name, str);
return FALSE;
}