Diff between 454a30731b202e7e7f41befdd96f0a1fa3d33a38 and 3d4d9147a8cd086908e658f513a4c4c4cdecaea5

Changed Files

File Additions Deletions Status
src/attrib-server.c +7 -3 modified

Full Patch

diff --git a/src/attrib-server.c b/src/attrib-server.c
index 953a3f2..114c8a1 100644
--- a/src/attrib-server.c
+++ b/src/attrib-server.c
@@ -318,9 +318,13 @@ static uint32_t attrib_create_sdp_new(struct gatt_server *server,
 
 	if (a->len == 2)
 		sdp_uuid16_create(&svc, get_le16(a->data));
-	else if (a->len == 16)
-		sdp_uuid128_create(&svc, a->data);
-	else
+	else if (a->len == 16) {
+		uint8_t be128[16];
+
+		/* Converting from LE to BE */
+		bswap_128(a->data, be128);
+		sdp_uuid128_create(&svc, be128);
+	} else
 		return 0;
 
 	record = server_record_new(&svc, handle, end);