Diff between 229d416ed60da259f6d118954d2e620681306c5a and 5965a309eaa006f76964419d352a70358a7477f3

Changed Files

File Additions Deletions Status
android/adapter.c +4 -4 modified

Full Patch

diff --git a/android/adapter.c b/android/adapter.c
index 0a333d1..09cedef 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;