2019-09-28 14:27:05

by Michael N. Moran

[permalink] [raw]
Subject: [PATCH BlueZ] meshctl truncates GATT MTU

From: "Michael N. Moran" <[email protected]>

This patch fixes a bug in meshctl that causes the
GATT MTU to be truncated resulting in incorrect
segmentation when the MTU is greater than 259.

Michael N. Moran (1):
The meshctl sock_write() max_len variable is declared as
uint8_t, which causes the calculation of the GATT MTU
to be truncated when the MTU (write_mtu) is greater
than 259. This error causes incorrect segmentation.

tools/mesh/gatt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--
1.8.3.1


2019-09-28 14:27:06

by Michael N. Moran

[permalink] [raw]
Subject: [PATCH BlueZ] The meshctl sock_write() max_len variable is declared as a uint8_t, which causes the calculation of the GATT MTU to be truncated when the MTU (write_mtu) is greater than 259. This error causes incorrect segmentation.

From: "Michael N. Moran" <[email protected]>

---
tools/mesh/gatt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/mesh/gatt.c b/tools/mesh/gatt.c
index 0a942d4..c9e789c 100644
--- a/tools/mesh/gatt.c
+++ b/tools/mesh/gatt.c
@@ -189,7 +189,7 @@ static bool sock_write(struct io *io, void *user_data)
struct write_data *data = user_data;
struct iovec iov[2];
uint8_t sar;
- uint8_t max_len;
+ uint16_t max_len;

if (data == NULL)
return true;
--
1.8.3.1