diff --git a/src/l2cap_signaling.c b/src/l2cap_signaling.c index 0d2a7935a..c92302b58 100644 --- a/src/l2cap_signaling.c +++ b/src/l2cap_signaling.c @@ -112,9 +112,9 @@ uint16_t l2cap_create_signaling_packet(uint8_t * acl_buffer, hci_con_handle_t ha acl_buffer[pos++] = word & 0xffu; acl_buffer[pos++] = word >> 8; break; - case 'C': // list of cids != zero, last one is zero + case 'C': // list of cids != zero, last one is 0xffff ptr_u16 = va_arg(argptr, uint16_t *); // LCOV_EXCL_BR_LINE - while (*ptr_u16 != 0){ + while (*ptr_u16 != 0xffff){ little_endian_store_16(acl_buffer, pos, *ptr_u16); ptr_u16++; pos += 2; diff --git a/test/embedded/l2cap_le_signaling_test.c b/test/embedded/l2cap_le_signaling_test.c index 4d5ee28c1..1de5a1be7 100644 --- a/test/embedded/l2cap_le_signaling_test.c +++ b/test/embedded/l2cap_le_signaling_test.c @@ -48,7 +48,7 @@ TEST(L2CAP_LE_Signaling, l2cap_create_signaling_le_valid_cmd_2_format){ } TEST(L2CAP_LE_Signaling, l2cap_create_signaling_le_valid_cmd_C_format){ - uint16_t cids[2] = { 0x3333, 0 }; + uint16_t cids[2] = { 0x3333, 0xffff }; uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, L2CAP_CREDIT_BASED_RECONFIGURE_REQUEST, 1, 0x1111, 0x2222, cids); CHECK_EQUAL(18, size); }