diff --git a/src/adapter.c b/src/adapter.c
index c7b9b7e..bcf7384 100644
--- a/src/adapter.c
+++ b/src/adapter.c
static void store_adapter_info(struct btd_adapter *adapter)
{
GKeyFile *key_file;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
char address[18];
char *str;
gsize length = 0;
ba2str(&adapter->bdaddr, address);
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/settings", address);
- filename[PATH_MAX] = '\0';
create_file(filename, S_IRUSR | S_IWUSR);
static void load_devices(struct btd_adapter *adapter)
{
- char filename[PATH_MAX + 1], dirname[PATH_MAX + 1];
+ char filename[PATH_MAX], dirname[PATH_MAX];
char srcaddr[18];
GSList *keys = NULL;
GSList *ltks = NULL;
ba2str(&adapter->bdaddr, srcaddr);
snprintf(dirname, PATH_MAX, STORAGEDIR "/%s", srcaddr);
- dirname[PATH_MAX] = '\0';
dir = opendir(dirname);
if (!dir) {
while ((entry = readdir(dir)) != NULL) {
struct btd_device *device;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
struct link_key_info *key_info;
GSList *list, *ltk_info;
{
char *address = user_data;
char *str = key;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char *data;
gsize length = 0;
return;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", address, str);
- filename[PATH_MAX] = '\0';
create_file(filename, S_IRUSR | S_IWUSR);
key_file = g_key_file_new();
{
struct device_converter *converter = user_data;
char type = BDADDR_BREDR;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char *data;
gsize length = 0;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s",
converter->address, key);
- filename[PATH_MAX] = '\0';
err = stat(filename, &st);
if (err || !S_ISDIR(st.st_mode))
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info",
converter->address, key);
- filename[PATH_MAX] = '\0';
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
void (*cb)(GKeyFile *key_file, void *value),
gboolean force)
{
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
struct device_converter converter;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", address, file);
- filename[PATH_MAX] = '\0';
converter.address = address;
converter.cb = cb;
static void store_sdp_record(char *local, char *peer, int handle, char *value)
{
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char handle_str[11];
char *data;
gsize length = 0;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", local, peer);
- filename[PATH_MAX] = '\0';
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
char dst_addr[18];
char type = BDADDR_BREDR;
int handle, ret;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
struct stat st;
sdp_record_t *rec;
/* Check if the device directory has been created as records should
* only be converted for known devices */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", src_addr, dst_addr);
- filename[PATH_MAX] = '\0';
err = stat(filename, &st);
if (err || !S_ISDIR(st.st_mode))
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/attributes", src_addr,
dst_addr);
- filename[PATH_MAX] = '\0';
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
int device_type = -1;
uuid_t uuid;
char **services, **service, *prim_uuid;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
int ret;
uint16_t start, end;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/attributes", address,
key);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
g_key_file_free(key_file);
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", address, key);
- filename[PATH_MAX] = '\0';
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
char type = BDADDR_BREDR;
uint16_t handle;
int ret, err;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
struct stat st;
char group[6];
/* Check if the device directory has been created as records should
* only be converted for known devices */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", src_addr, dst_addr);
- filename[PATH_MAX] = '\0';
err = stat(filename, &st);
if (err || !S_ISDIR(st.st_mode))
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/ccc", src_addr,
dst_addr);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
char type = BDADDR_BREDR;
uint16_t handle;
int ret, err;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
struct stat st;
char group[6];
/* Check if the device directory has been created as records should
* only be converted for known devices */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", src_addr, dst_addr);
- filename[PATH_MAX] = '\0';
err = stat(filename, &st);
if (err || !S_ISDIR(st.st_mode))
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/gatt", src_addr,
dst_addr);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
{
char *src_addr = user_data;
char *alert;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
struct stat st;
int err;
/* Check if the device directory has been created as records should
* only be converted for known devices */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", src_addr, key);
- filename[PATH_MAX] = '\0';
err = stat(filename, &st);
if (err || !S_ISDIR(st.st_mode))
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/proximity", src_addr,
key);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
static void convert_device_storage(struct btd_adapter *adapter)
{
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
char address[18];
ba2str(&adapter->bdaddr, address);
/* Convert device's name cache */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/names", address);
- filename[PATH_MAX] = '\0';
textfile_foreach(filename, convert_names_entry, address);
/* Convert aliases */
/* Convert primaries */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/primaries", address);
- filename[PATH_MAX] = '\0';
textfile_foreach(filename, convert_primaries_entry, address);
/* Convert linkkeys */
/* Convert sdp */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/sdp", address);
- filename[PATH_MAX] = '\0';
textfile_foreach(filename, convert_sdp_entry, address);
/* Convert ccc */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/ccc", address);
- filename[PATH_MAX] = '\0';
textfile_foreach(filename, convert_ccc_entry, address);
/* Convert appearances */
/* Convert gatt */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/gatt", address);
- filename[PATH_MAX] = '\0';
textfile_foreach(filename, convert_gatt_entry, address);
/* Convert proximity */
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/proximity", address);
- filename[PATH_MAX] = '\0';
textfile_foreach(filename, convert_proximity_entry, address);
}
{
char address[18];
char str[MAX_NAME_LENGTH + 1];
- char config_path[PATH_MAX + 1];
+ char config_path[PATH_MAX];
int timeout;
uint8_t mode;
char *data;
ba2str(&adapter->bdaddr, address);
snprintf(config_path, PATH_MAX, STORAGEDIR "/%s/config", address);
- config_path[PATH_MAX] = '\0';
if (read_pairable_timeout(address, &timeout) == 0)
g_key_file_set_integer(key_file, "General",
static void fix_storage(struct btd_adapter *adapter)
{
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
char address[18];
char *converted;
ba2str(&adapter->bdaddr, address);
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/config", address);
- filename[PATH_MAX] = '\0';
converted = textfile_get(filename, "converted");
if (!converted)
return;
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/names", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/aliases", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/trusts", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/blocked", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/profiles", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/primaries", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/linkkeys", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/longtermkeys", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/classes", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/did", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/sdp", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/ccc", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/appearances", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/gatt", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/proximity", address);
- filename[PATH_MAX] = '\0';
textfile_del(filename, "converted");
}
static void load_config(struct btd_adapter *adapter)
{
GKeyFile *key_file;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
char address[18];
struct stat st;
GError *gerr = NULL;
key_file = g_key_file_new();
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/settings", address);
- filename[PATH_MAX] = '\0';
if (stat(filename, &st) < 0) {
convert_config(adapter, filename, key_file);
{
char adapter_addr[18];
char device_addr[18];
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
gsize length = 0;
char key_str[33];
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr,
device_addr);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
const char *group = master ? "LongTermKey" : "SlaveLongTermKey";
char adapter_addr[18];
char device_addr[18];
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char key_str[33];
gsize length = 0;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr,
device_addr);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
const char *group;
char adapter_addr[18];
char device_addr[18];
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char key_str[33];
gsize length = 0;
{
char adapter_addr[18];
char device_addr[18];
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char *store_data;
char str[33];
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr,
device_addr);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
{
char adapter_addr[18];
char device_addr[18];
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char *store_data;
size_t length = 0;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr,
device_addr);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
{
char adapter_addr[18];
char device_addr[18];
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
gsize length = 0;
char *str;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr,
device_addr);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
diff --git a/src/device.c b/src/device.c
index 2221e83..31d6d0b 100644
--- a/src/device.c
+++ b/src/device.c
{
struct btd_device *device = user_data;
GKeyFile *key_file;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
char adapter_addr[18];
char device_addr[18];
char *str;
ba2str(&device->bdaddr, device_addr);
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr,
device_addr);
- filename[PATH_MAX] = '\0';
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
void device_store_cached_name(struct btd_device *dev, const char *name)
{
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
char s_addr[18], d_addr[18];
GKeyFile *key_file;
char *data;
ba2str(btd_adapter_get_address(dev->adapter), s_addr);
ba2str(&dev->bdaddr, d_addr);
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", s_addr, d_addr);
- filename[PATH_MAX] = '\0';
create_file(filename, S_IRUSR | S_IWUSR);
key_file = g_key_file_new();
static char *load_cached_name(struct btd_device *device, const char *local,
const char *peer)
{
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char *str = NULL;
int len;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", local, peer);
- filename[PATH_MAX] = '\0';
key_file = g_key_file_new();
static void load_att_info(struct btd_device *device, const char *local,
const char *peer)
{
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char *prim_uuid, *str;
char **groups, **handle, *service_uuid;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/attributes", local,
peer);
- filename[PATH_MAX] = '\0';
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
{
DIR *dir;
struct dirent *entry;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
dir = opendir(dirname);
if (dir == NULL)
continue;
snprintf(filename, PATH_MAX, "%s/%s", dirname, entry->d_name);
- filename[PATH_MAX] = '\0';
if (entry->d_type == DT_DIR)
delete_folder_tree(filename);
const bdaddr_t *src = btd_adapter_get_address(device->adapter);
char adapter_addr[18];
char device_addr[18];
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char *data;
gsize length = 0;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", adapter_addr,
device_addr);
- filename[PATH_MAX] = '\0';
delete_folder_tree(filename);
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", adapter_addr,
device_addr);
- filename[PATH_MAX] = '\0';
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
struct btd_device *device = req->device;
sdp_list_t *seq;
char srcaddr[18], dstaddr[18];
- char sdp_file[PATH_MAX + 1];
- char att_file[PATH_MAX + 1];
+ char sdp_file[PATH_MAX];
+ char att_file[PATH_MAX];
GKeyFile *sdp_key_file = NULL;
GKeyFile *att_key_file = NULL;
char *data;
if (!device->temporary) {
snprintf(sdp_file, PATH_MAX, STORAGEDIR "/%s/cache/%s",
srcaddr, dstaddr);
- sdp_file[PATH_MAX] = '\0';
sdp_key_file = g_key_file_new();
g_key_file_load_from_file(sdp_key_file, sdp_file, 0, NULL);
snprintf(att_file, PATH_MAX, STORAGEDIR "/%s/%s/attributes",
srcaddr, dstaddr);
- att_file[PATH_MAX] = '\0';
att_key_file = g_key_file_new();
g_key_file_load_from_file(att_key_file, att_file, 0, NULL);
static void store_services(struct btd_device *device)
{
struct btd_adapter *adapter = device->adapter;
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
char src_addr[18], dst_addr[18];
uuid_t uuid;
char *prim_uuid;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/attributes", src_addr,
dst_addr);
- filename[PATH_MAX] = '\0';
-
key_file = g_key_file_new();
for (l = device->primaries; l; l = l->next) {
static sdp_list_t *read_device_records(struct btd_device *device)
{
char local[18], peer[18];
- char filename[PATH_MAX + 1];
+ char filename[PATH_MAX];
GKeyFile *key_file;
char **keys, **handle;
char *str;
ba2str(&device->bdaddr, peer);
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", local, peer);
- filename[PATH_MAX] = '\0';
key_file = g_key_file_new();
g_key_file_load_from_file(key_file, filename, 0, NULL);
diff --git a/src/storage.c b/src/storage.c
index b230e1e..127af55 100644
--- a/src/storage.c
+++ b/src/storage.c
int read_discoverable_timeout(const char *src, int *timeout)
{
- char filename[PATH_MAX + 1], *str;
+ char filename[PATH_MAX], *str;
create_name(filename, PATH_MAX, STORAGEDIR, src, "config");
int read_pairable_timeout(const char *src, int *timeout)
{
- char filename[PATH_MAX + 1], *str;
+ char filename[PATH_MAX], *str;
create_name(filename, PATH_MAX, STORAGEDIR, src, "config");
int read_on_mode(const char *src, char *mode, int length)
{
- char filename[PATH_MAX + 1], *str;
+ char filename[PATH_MAX], *str;
create_name(filename, PATH_MAX, STORAGEDIR, src, "config");
int read_local_name(const bdaddr_t *bdaddr, char *name)
{
- char filename[PATH_MAX + 1], *str;
+ char filename[PATH_MAX], *str;
int len;
create_filename(filename, PATH_MAX, bdaddr, "config");