From 5965a309eaa006f76964419d352a70358a7477f3 Mon Sep 17 00:00:00 2001 From: Jakub Tyszkowski Date: Thu, 7 Nov 2013 10:31:50 +0100 Subject: [PATCH] android: Fix sending remote device name property Android use the full string returned even if terminated with '\0'. --- android/adapter.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/android/adapter.c b/android/adapter.c index 0a333d100..09cedef98 100644 --- a/android/adapter.c +++ b/android/adapter.c @@ -678,9 +678,9 @@ static int fill_device_props(struct hal_property *prop, bdaddr_t *addr, /* fill name */ if (name) { prop->type = HAL_PROP_DEVICE_NAME; - prop->len = HAL_MAX_NAME_LENGTH; - strncpy((char *) prop->val, name, HAL_MAX_NAME_LENGTH - 1); - prop = ((void *) prop) + sizeof(*prop) + HAL_MAX_NAME_LENGTH; + prop->len = strlen(name); + memcpy(prop->val, name, prop->len); + prop = ((void *) prop) + sizeof(*prop) + prop->len; num_props++; } @@ -729,7 +729,7 @@ static void update_found_device(const bdaddr_t *bdaddr, uint8_t bdaddr_type, props_size += sizeof(struct hal_property) + sizeof(rssi); if (eir.name) - props_size += sizeof(struct hal_property) + HAL_MAX_NAME_LENGTH; + props_size += sizeof(struct hal_property) + strlen(eir.name); if (is_new_dev) { struct hal_ev_device_found *ev = NULL; -- 2.47.3