summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-08-21 23:59:51 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-08-21 23:59:51 +0200
commit0905c784dcac636c631df9321b88ab2d5cef69f2 (patch)
tree4a7ecf0586223aebd988e7f842852b07371ffaa3
parent2e0b3ee840a944dc65e916e687fb08d53f43d2b8 (diff)
downloadconnman-0905c784dcac636c631df9321b88ab2d5cef69f2.tar.gz
connman-0905c784dcac636c631df9321b88ab2d5cef69f2.tar.bz2
connman-0905c784dcac636c631df9321b88ab2d5cef69f2.zip
Ensure that all provider object paths are valid
-rw-r--r--src/provider.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/provider.c b/src/provider.c
index 1dfba217..b0117780 100644
--- a/src/provider.c
+++ b/src/provider.c
@@ -419,9 +419,15 @@ static void provider_dbus_ident(char *ident)
{
int i, len = strlen(ident);
- for (i = 0; i < len; i++)
- if (ident[i] == '.' || ident[i] == ':')
- ident[i] = '_';
+ for (i = 0; i < len; i++) {
+ if (ident[i] >= '0' && ident[i] <= '9')
+ continue;
+ if (ident[i] >= 'a' && ident[i] <= 'z')
+ continue;
+ if (ident[i] >= 'A' && ident[i] <= 'Z')
+ continue;
+ ident[i] = '_';
+ }
}
int __connman_provider_create_and_connect(DBusMessage *msg)