@@ -1049,8 +1049,9 @@ static void le_conn_param_rsp(struct bt_l2cap *l2cap, struct net_buf *buf)
1049
1049
{
1050
1050
struct bt_l2cap_conn_param_rsp * rsp = (void * )buf -> data ;
1051
1051
1052
- if (buf -> len < sizeof (* rsp )) {
1053
- LOG_ERR ("Too small LE conn param rsp" );
1052
+ if (buf -> len != sizeof (* rsp )) {
1053
+ LOG_ERR ("Invalid LE conn param rsp size (%u != %zu)" ,
1054
+ buf -> len , sizeof (* rsp ));
1054
1055
return ;
1055
1056
}
1056
1057
@@ -1066,8 +1067,9 @@ static void le_conn_param_update_req(struct bt_l2cap *l2cap, uint8_t ident,
1066
1067
struct bt_l2cap_conn_param_req * req = (void * )buf -> data ;
1067
1068
bool accepted ;
1068
1069
1069
- if (buf -> len < sizeof (* req )) {
1070
- LOG_ERR ("Too small LE conn update param req" );
1070
+ if (buf -> len != sizeof (* req )) {
1071
+ LOG_ERR ("Invalid LE conn update param req size (%u != %zu)" ,
1072
+ buf -> len , sizeof (* req ));
1071
1073
return ;
1072
1074
}
1073
1075
@@ -1458,8 +1460,9 @@ static void le_conn_req(struct bt_l2cap *l2cap, uint8_t ident,
1458
1460
uint16_t psm , scid , mtu , mps , credits ;
1459
1461
uint16_t result ;
1460
1462
1461
- if (buf -> len < sizeof (* req )) {
1462
- LOG_ERR ("Too small LE conn req packet size" );
1463
+ if (buf -> len != sizeof (* req )) {
1464
+ LOG_ERR ("Invalid LE conn req packet size (%u != %zu)" ,
1465
+ buf -> len , sizeof (* req ));
1463
1466
return ;
1464
1467
}
1465
1468
@@ -1759,8 +1762,9 @@ static void le_ecred_reconf_rsp(struct bt_l2cap *l2cap, uint8_t ident,
1759
1762
struct bt_l2cap_le_chan * ch ;
1760
1763
uint16_t result ;
1761
1764
1762
- if (buf -> len < sizeof (* rsp )) {
1763
- LOG_ERR ("Too small ecred reconf rsp packet size" );
1765
+ if (buf -> len != sizeof (* rsp )) {
1766
+ LOG_ERR ("Invalid ecred reconf rsp packet size (%u != %zu)" ,
1767
+ buf -> len , sizeof (* rsp ));
1764
1768
return ;
1765
1769
}
1766
1770
@@ -1820,8 +1824,9 @@ static void le_disconn_req(struct bt_l2cap *l2cap, uint8_t ident,
1820
1824
struct bt_l2cap_disconn_rsp * rsp ;
1821
1825
uint16_t dcid ;
1822
1826
1823
- if (buf -> len < sizeof (* req )) {
1824
- LOG_ERR ("Too small LE conn req packet size" );
1827
+ if (buf -> len != sizeof (* req )) {
1828
+ LOG_ERR ("Invalid LE conn req packet size (%u != %zu)" ,
1829
+ buf -> len , sizeof (* req ));
1825
1830
return ;
1826
1831
}
1827
1832
@@ -2039,8 +2044,9 @@ static void le_conn_rsp(struct bt_l2cap *l2cap, uint8_t ident,
2039
2044
struct bt_l2cap_le_conn_rsp * rsp = (void * )buf -> data ;
2040
2045
uint16_t dcid , mtu , mps , credits , result ;
2041
2046
2042
- if (buf -> len < sizeof (* rsp )) {
2043
- LOG_ERR ("Too small LE conn rsp packet size" );
2047
+ if (buf -> len != sizeof (* rsp )) {
2048
+ LOG_ERR ("Invalid LE conn rsp packet size (%u != %zu)" ,
2049
+ buf -> len , sizeof (* rsp ));
2044
2050
return ;
2045
2051
}
2046
2052
@@ -2111,8 +2117,9 @@ static void le_disconn_rsp(struct bt_l2cap *l2cap, uint8_t ident,
2111
2117
struct bt_l2cap_disconn_rsp * rsp = (void * )buf -> data ;
2112
2118
uint16_t scid ;
2113
2119
2114
- if (buf -> len < sizeof (* rsp )) {
2115
- LOG_ERR ("Too small LE disconn rsp packet size" );
2120
+ if (buf -> len != sizeof (* rsp )) {
2121
+ LOG_ERR ("Invalid LE disconn rsp packet size (%u != %zu)" ,
2122
+ buf -> len , sizeof (* rsp ));
2116
2123
return ;
2117
2124
}
2118
2125
@@ -2137,8 +2144,9 @@ static void le_credits(struct bt_l2cap *l2cap, uint8_t ident,
2137
2144
struct bt_l2cap_le_chan * le_chan ;
2138
2145
uint16_t credits , cid ;
2139
2146
2140
- if (buf -> len < sizeof (* ev )) {
2141
- LOG_ERR ("Too small LE Credits packet size" );
2147
+ if (buf -> len != sizeof (* ev )) {
2148
+ LOG_ERR ("Invalid LE Credits packet size (%u != %zu)" ,
2149
+ buf -> len , sizeof (* ev ));
2142
2150
return ;
2143
2151
}
2144
2152
0 commit comments