When performing a FIND_INFO_REQ
over handles which include a 128-bit service UUID, the response is a malformed packet, specifying type 2 (128-bit UUID) but only copying 16-bits
The ternary on this line here needs to be inverted from
|
int uuidLen = isValueHandle ? 2 : attribute->uuidLength(); |
To
int uuidLen = isValueHandle ? attribute->uuidLength() : 2;
This makes sense because the only 128-bit UUIDs that should be returned are value handles, otherwise they'll be 16-bit.
Snippet of malformed packet:
