struct connman_network *network;
DBusMessage *reply;
DBusMessageIter array, dict;
- char *security, *temp = NULL;
+ char *security;
unsigned char strength;
- unsigned int i;
DBG("task %p", task);
if (result.identifier[0] == '\0')
goto done;
- temp = g_strdup(result.identifier);
- if (temp == NULL)
- goto done;
-
- for (i = 0; i < strlen(temp); i++) {
- char tmp = temp[i];
- if ((tmp < '0' || tmp > '9') && (tmp < 'A' || tmp > 'Z') &&
- (tmp < 'a' || tmp > 'z'))
- temp[i] = '_';
- }
-
strength = result.quality;
if (result.has_rsn == TRUE)
else
security = "none";
- network = connman_device_get_network(task->device, temp);
+ network = connman_device_get_network(task->device, result.identifier);
if (network == NULL) {
const char *mode;
int index;
- network = connman_network_create(temp,
+ network = connman_network_create(result.identifier,
CONNMAN_NETWORK_TYPE_WIFI);
if (network == NULL)
goto done;
done:
g_free(result.identifier);
g_free(result.ssid);
- g_free(temp);
dbus_message_unref(reply);
struct connman_network *connman_device_get_network(struct connman_device *device,
const char *identifier)
{
+ struct connman_network *network;
+ char *temp;
+ unsigned int i;
+
DBG("device %p identifier %s", device, identifier);
- return g_hash_table_lookup(device->networks, identifier);
+ temp = g_strdup(identifier);
+ if (temp == NULL)
+ return NULL;
+
+ for (i = 0; i < strlen(temp); i++) {
+ char tmp = temp[i];
+ if ((tmp < '0' || tmp > '9') && (tmp < 'A' || tmp > 'Z') &&
+ (tmp < 'a' || tmp > 'z'))
+ temp[i] = '_';
+ }
+
+ network = g_hash_table_lookup(device->networks, temp);
+
+ g_free(temp);
+
+ return network;
}
/**
struct connman_network *network;
connman_uint8_t strength = 0;
const char *str;
+ char *temp;
+ unsigned int i;
DBG("identifier %s type %d", identifier, type);
__connman_element_initialize(&network->element);
- network->element.name = g_strdup(identifier);
+ temp = g_strdup(identifier);
+ if (temp == NULL) {
+ g_free(network);
+ return NULL;
+ }
+
+ for (i = 0; i < strlen(temp); i++) {
+ char tmp = temp[i];
+ if ((tmp < '0' || tmp > '9') && (tmp < 'A' || tmp > 'Z') &&
+ (tmp < 'a' || tmp > 'z'))
+ temp[i] = '_';
+ }
+
+ network->element.name = temp;
network->element.type = CONNMAN_ELEMENT_TYPE_NETWORK;
network->element.network = network;