Skip to content

Commit 2185e0f

Browse files
harshimogalapalliVudentz
authored andcommitted
Bluetooth: Fix a buffer overflow in mgmt_mesh_add()
Smatch Warning: net/bluetooth/mgmt_util.c:375 mgmt_mesh_add() error: __memcpy() 'mesh_tx->param' too small (48 vs 50) Analysis: 'mesh_tx->param' is array of size 48. This is the destination. u8 param[sizeof(struct mgmt_cp_mesh_send) + 29]; // 19 + 29 = 48. But in the caller 'mesh_send' we reject only when len > 50. len > (MGMT_MESH_SEND_SIZE + 31) // 19 + 31 = 50. Fixes: b338d91 ("Bluetooth: Implement support for Mesh") Signed-off-by: Harshit Mogalapalli <[email protected]> Signed-off-by: Brian Gix <[email protected]> Signed-off-by: Luiz Augusto von Dentz <[email protected]>
1 parent 1f3bd64 commit 2185e0f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

net/bluetooth/mgmt_util.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ struct mgmt_mesh_tx {
2727
struct sock *sk;
2828
u8 handle;
2929
u8 instance;
30-
u8 param[sizeof(struct mgmt_cp_mesh_send) + 29];
30+
u8 param[sizeof(struct mgmt_cp_mesh_send) + 31];
3131
};
3232

3333
struct mgmt_pending_cmd {

0 commit comments

Comments
 (0)