From e3f36f586c8f128dd4f696f715640e74d7907bc4 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Thu, 16 Apr 2015 17:09:32 +0300 Subject: [PATCH] core/eir: Fix service data parsing The UUID type was not being set correctly. --- src/eir.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/eir.c b/src/eir.c index 34f6e168d..c984fa5a7 100644 --- a/src/eir.c +++ b/src/eir.c @@ -191,6 +191,7 @@ static void eir_parse_uuid16_data(struct eir_data *eir, const uint8_t *data, if (len < 2 || len > EIR_SD_MAX_LEN) return; + service.type = SDP_UUID16; service.value.uuid16 = get_le16(data); eir_parse_sd(eir, &service, data + 2, len - 2); } @@ -203,6 +204,7 @@ static void eir_parse_uuid32_data(struct eir_data *eir, const uint8_t *data, if (len < 4 || len > EIR_SD_MAX_LEN) return; + service.type = SDP_UUID32; service.value.uuid32 = get_le32(data); eir_parse_sd(eir, &service, data + 4, len - 4); } @@ -216,6 +218,8 @@ static void eir_parse_uuid128_data(struct eir_data *eir, const uint8_t *data, if (len < 16 || len > EIR_SD_MAX_LEN) return; + service.type = SDP_UUID128; + for (k = 0; k < 16; k++) service.value.uuid128.data[k] = data[16 - k - 1]; -- 2.47.3