diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-05-14 15:20:44 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-05-15 15:52:07 +0300 |
commit | 9d4a0b844ae47893e2b928556901c22756f1d47c (patch) | |
tree | 97c25893d167e39918ad754cbcfceb1bb2536a70 /src/config.c | |
parent | 941e94a18d9e8c0af1124b36f8c0682b608604c4 (diff) | |
download | connman-9d4a0b844ae47893e2b928556901c22756f1d47c.tar.gz connman-9d4a0b844ae47893e2b928556901c22756f1d47c.tar.bz2 connman-9d4a0b844ae47893e2b928556901c22756f1d47c.zip |
config: Reject invalid SSID hexadecimal entries
Reject provisioning .config file SSID entries that are not in
hexadecimal.
Diffstat (limited to 'src/config.c')
-rw-r--r-- | src/config.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/config.c b/src/config.c index 781427d9..66e13161 100644 --- a/src/config.c +++ b/src/config.c @@ -258,7 +258,13 @@ static int load_service(GKeyFile *keyfile, const char *group, } for (i = 0; i < hex_ssid_len; i += 2) { - sscanf(hex_ssid + i, "%02x", &hex); + if (sscanf(hex_ssid + i, "%02x", &hex) <= 0) { + connman_warn("Invalid SSID %s", hex_ssid); + g_free(ssid); + g_free(hex_ssid); + err = -EILSEQ; + goto err; + } ssid[j++] = hex; } |