diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2010-08-21 23:59:51 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2010-08-21 23:59:51 +0200 |
commit | 0905c784dcac636c631df9321b88ab2d5cef69f2 (patch) | |
tree | 4a7ecf0586223aebd988e7f842852b07371ffaa3 /src/provider.c | |
parent | 2e0b3ee840a944dc65e916e687fb08d53f43d2b8 (diff) | |
download | connman-0905c784dcac636c631df9321b88ab2d5cef69f2.tar.gz connman-0905c784dcac636c631df9321b88ab2d5cef69f2.tar.bz2 connman-0905c784dcac636c631df9321b88ab2d5cef69f2.zip |
Ensure that all provider object paths are valid
Diffstat (limited to 'src/provider.c')
-rw-r--r-- | src/provider.c | 12 |
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) |