diff --git a/src/adapter.c b/src/adapter.c
index b8e790e..570a5bf 100644
--- a/src/adapter.c
+++ b/src/adapter.c
dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING,
&uuid);
- g_free(uuid);
+ free(uuid);
}
dbus_message_iter_close_container(iter, &entry);
ret = strcasecmp(uuid, profile_uuid);
- g_free(uuid);
+ free(uuid);
if (ret == 0)
return TRUE;
failed:
sdp_record_free(rec);
- g_free(prim_uuid);
- g_free(att_uuid);
+ free(prim_uuid);
+ free(att_uuid);
}
static void convert_primaries_entry(char *key, char *value, void *user_data)
end:
g_free(data);
- g_free(prim_uuid);
+ free(prim_uuid);
g_key_file_free(key_file);
}
diff --git a/src/device.c b/src/device.c
index aa15e0a..b069a1a 100644
--- a/src/device.c
+++ b/src/device.c
uuid = bt_name2string(pattern);
reply = connect_profiles(dev, msg, uuid);
- g_free(uuid);
+ free(uuid);
return reply;
}
return btd_error_invalid_args(msg);
service = find_connectable_service(dev, uuid);
- g_free(uuid);
+ free(uuid);
if (!service)
return btd_error_invalid_args(msg);
service_uuid = bt_uuid2string(&uuid);
memcpy(prim->uuid, service_uuid, MAX_LEN_UUID_STR);
- g_free(service_uuid);
+ free(service_uuid);
g_free(str);
device->primaries = g_slist_append(device->primaries, prim);
g_strfreev(groups);
g_key_file_free(key_file);
- g_free(prim_uuid);
+ free(prim_uuid);
}
static struct btd_device *device_new(struct btd_adapter *adapter,
ret = strcasecmp(uuid, profile_uuid);
- g_free(uuid);
+ free(uuid);
if (ret == 0)
return TRUE;
g_key_file_set_integer(key_file, handle, "EndGroupHandle", end);
done:
- g_free(prim_uuid);
- g_free(att_uuid);
+ free(prim_uuid);
+ free(att_uuid);
}
static int rec_cmp(const void *a, const void *b)
store_primaries_from_sdp_record(att_key_file, rec);
next:
- g_free(profile_uuid);
+ free(profile_uuid);
sdp_list_free(svcclass, free);
}
prim_list = g_slist_append(prim_list, prim);
}
- g_free(att_uuid);
+ free(att_uuid);
return prim_list;
}
g_file_set_contents(filename, data, length, NULL);
}
- g_free(prim_uuid);
+ free(prim_uuid);
g_free(data);
g_key_file_free(key_file);
}
diff --git a/src/eir.c b/src/eir.c
index f18a918..ebc79b5 100644
--- a/src/eir.c
+++ b/src/eir.c
service.value.uuid16 = bt_get_le16(uuid16);
uuid_str = bt_uuid2string(&service);
- eir->services = g_slist_append(eir->services, uuid_str);
+ if (!uuid_str)
+ continue;
+ eir->services = g_slist_append(eir->services,
+ g_strdup(uuid_str));
+ free(uuid_str);
}
}
service.value.uuid32 = bt_get_le32(uuid32);
uuid_str = bt_uuid2string(&service);
- eir->services = g_slist_append(eir->services, uuid_str);
+ if (!uuid_str)
+ continue;
+ eir->services = g_slist_append(eir->services,
+ g_strdup(uuid_str));
+ free(uuid_str);
}
}
for (k = 0; k < 16; k++)
service.value.uuid128.data[k] = uuid_ptr[16 - k - 1];
uuid_str = bt_uuid2string(&service);
- eir->services = g_slist_append(eir->services, uuid_str);
+ if (!uuid_str)
+ continue;
+ eir->services = g_slist_append(eir->services,
+ g_strdup(uuid_str));
+ free(uuid_str);
uuid_ptr += 16;
}
}
diff --git a/src/profile.c b/src/profile.c
index 0862a36..ecbb1c5 100644
--- a/src/profile.c
+++ b/src/profile.c
if (type != DBUS_TYPE_STRING)
return -EINVAL;
dbus_message_iter_get_basic(value, &str);
- g_free(ext->service);
+ free(ext->service);
ext->service = bt_name2string(str);
}
static void set_service(struct ext_profile *ext)
{
if (strcasecmp(ext->uuid, HSP_HS_UUID) == 0) {
- ext->service = g_strdup(ext->uuid);
+ ext->service = strdup(ext->uuid);
} else if (strcasecmp(ext->uuid, HSP_AG_UUID) == 0) {
ext->service = ext->uuid;
- ext->uuid = g_strdup(HSP_HS_UUID);
+ ext->uuid = strdup(HSP_HS_UUID);
} else if (strcasecmp(ext->uuid, HFP_HS_UUID) == 0) {
- ext->service = g_strdup(ext->uuid);
+ ext->service = strdup(ext->uuid);
} else if (strcasecmp(ext->uuid, HFP_AG_UUID) == 0) {
ext->service = ext->uuid;
- ext->uuid = g_strdup(HFP_HS_UUID);
+ ext->uuid = strdup(HFP_HS_UUID);
} else if (strcasecmp(ext->uuid, OBEX_SYNC_UUID) == 0 ||
strcasecmp(ext->uuid, OBEX_OPP_UUID) == 0 ||
strcasecmp(ext->uuid, OBEX_FTP_UUID) == 0) {
- ext->service = g_strdup(ext->uuid);
+ ext->service = strdup(ext->uuid);
} else if (strcasecmp(ext->uuid, OBEX_PSE_UUID) == 0 ||
strcasecmp(ext->uuid, OBEX_PCE_UUID) == 0) {
ext->service = ext->uuid;
- ext->uuid = g_strdup(OBEX_PBAP_UUID);
+ ext->uuid = strdup(OBEX_PBAP_UUID);
} else if (strcasecmp(ext->uuid, OBEX_MAS_UUID) == 0 ||
strcasecmp(ext->uuid, OBEX_MNS_UUID) == 0) {
ext->service = ext->uuid;
- ext->uuid = g_strdup(OBEX_MAP_UUID);
+ ext->uuid = strdup(OBEX_MAP_UUID);
}
}
g_free(ext->remote_uuid);
g_free(ext->name);
g_free(ext->owner);
- g_free(ext->uuid);
- g_free(ext->service);
+ free(ext->uuid);
+ free(ext->service);
g_free(ext->role);
g_free(ext->path);
g_free(ext->record);
prop = g_new0(struct btd_profile_custom_property, 1);
- prop->uuid = g_strdup(uuid);
+ prop->uuid = strdup(uuid);
prop->type = g_strdup(type);
prop->name = g_strdup(name);
prop->exists = exists;
diff --git a/src/uuid-helper.c b/src/uuid-helper.c
index 1995ea1..3cca024 100644
--- a/src/uuid-helper.c
+++ b/src/uuid-helper.c
unsigned short data3;
unsigned int data4;
unsigned short data5;
+ int err;
if (!uuid)
return NULL;
memcpy(&data4, &uuid128.value.uuid128.data[10], 4);
memcpy(&data5, &uuid128.value.uuid128.data[14], 2);
- str = g_try_malloc0(MAX_LEN_UUID_STR);
- if (!str)
- return NULL;
-
- sprintf(str, "%.8x-%.4x-%.4x-%.4x-%.8x%.4x",
+ err = asprintf(&str, "%.8x-%.4x-%.4x-%.4x-%.8x%.4x",
g_ntohl(data0), g_ntohs(data1),
g_ntohs(data2), g_ntohs(data3),
g_ntohl(data4), g_ntohs(data5));
+ if (err < 0)
+ return NULL;
return str;
}
/* UUID 128 string format */
if (is_uuid128(pattern))
- return g_strdup(pattern);
+ return strdup(pattern);
/* Friendly service name format */
uuid16 = name2class(pattern);