summaryrefslogtreecommitdiff
path: root/src/config.c
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2012-05-14 15:20:44 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-05-15 15:52:07 +0300
commit9d4a0b844ae47893e2b928556901c22756f1d47c (patch)
tree97c25893d167e39918ad754cbcfceb1bb2536a70 /src/config.c
parent941e94a18d9e8c0af1124b36f8c0682b608604c4 (diff)
downloadconnman-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.c8
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;
}