All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH BlueZ v4 0/4] Fix bugs found by static analysis
@ 2025-07-09 13:36 Ismagil Iskakov
  2025-07-09 13:36 ` [PATCH BlueZ v4 1/4] btio: fix range validation of security level Ismagil Iskakov
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Ismagil Iskakov @ 2025-07-09 13:36 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Ismagil Iskakov

btio: fix range validation of security level
Expression is used as an index for accessing
an array's element in function 'l2cap_set_lm'.
This expression can have value 4, which is out
of range, as indicated by a preceding
conditional expression.

profiles/audio: add nullity checks
Return value of a function 'btd_device_get_service'
is dereferenced without checking for NULL, but it
is usually checked for this function (28/35).
Return value of a function 'queue_find' is
dereferenced without checking for NULL, but it
is usually checked for this function (182/183).

src/shared: add nullity checks
Return value of a function 'util_iov_pull_mem'
is dereferenced without checking for NULL, but it
is usually checked for this function (64/80).
Return value of a function 'vcp_get_vcs' is
dereferenced without checking for NULL, but it is
usually checked for this function (4/5).

obexd/client: fix err condition causing memleak
Dynamic memory, referenced by 'err', is allocated
by calling function 'obc_transfer_get' and lost
at bip.c:139.

Ismagil Iskakov (4):
  btio: fix range validation of security level
  profiles/audio: add nullity checks
  src/shared: add nullity checks
  obexd/client: fix err condition causing memleak

 btio/btio.c             |  6 ++++++
 obexd/client/transfer.c |  2 +-
 profiles/audio/a2dp.c   | 34 ++++++++++++++++++++++++----------
 profiles/audio/avrcp.c  | 24 +++++++++++++++++++++---
 profiles/audio/bass.c   |  3 +++
 src/shared/bap.c        | 23 +++++++++++++++++++++++
 src/shared/vcp.c        |  3 +++
 7 files changed, 81 insertions(+), 14 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 10+ messages in thread
* [PATCH BlueZ v3 1/4] btio: fix range validation of security level
@ 2025-07-09 12:18 Ismagil Iskakov
  2025-07-09 13:40 ` Fix bugs found by static analysis bluez.test.bot
  0 siblings, 1 reply; 10+ messages in thread
From: Ismagil Iskakov @ 2025-07-09 12:18 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Ismagil Iskakov

Arrays inside l2cap_set_lm/rfcomm_set_lm functions are of size 4,
but the bounds check allows the value 4 for 'level'.
---
 btio/btio.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/btio/btio.c b/btio/btio.c
index b8afe0580..bc14199f2 100644
--- a/btio/btio.c
+++ b/btio/btio.c
@@ -474,6 +474,12 @@ static gboolean set_sec_level(int sock, BtIOType type, int level, GError **err)
 		return FALSE;
 	}
 
+	if (level == BT_SECURITY_FIPS) {
+		g_set_error(err, BT_IO_ERROR, EINVAL,
+				"FIPS security level is not supported for L2CAP_LM/RFCOMM_LM");
+		return FALSE;
+	}
+
 	if (type == BT_IO_L2CAP)
 		ret = l2cap_set_lm(sock, level);
 	else
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH BlueZ v2 01/11] btio: fix range validation of security level
@ 2025-07-08 11:08 Ismagil Iskakov
  2025-07-08 12:44 ` Fix bugs found by static analysis bluez.test.bot
  0 siblings, 1 reply; 10+ messages in thread
From: Ismagil Iskakov @ 2025-07-08 11:08 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Ismagil Iskakov

Arrays inside l2cap_set_lm/rfcomm_set_lm functions are of size 4,
but the bounds check allows the value 4 for 'level'.
---
 btio/btio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/btio/btio.c b/btio/btio.c
index b8afe0580..14f2b700e 100644
--- a/btio/btio.c
+++ b/btio/btio.c
@@ -455,7 +455,7 @@ static gboolean set_sec_level(int sock, BtIOType type, int level, GError **err)
 	struct bt_security sec;
 	int ret;
 
-	if (level < BT_SECURITY_LOW || level > BT_SECURITY_FIPS) {
+	if (level < BT_SECURITY_LOW || level > BT_SECURITY_HIGH) {
 		g_set_error(err, BT_IO_ERROR, EINVAL,
 				"Valid security level range is %d-%d",
 				BT_SECURITY_LOW, BT_SECURITY_HIGH);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH BlueZ 01/11] btio: fix range validation of security level
@ 2025-07-08  7:33 Ismagil Iskakov
  2025-07-08  7:51 ` Fix bugs found by static analysis bluez.test.bot
  0 siblings, 1 reply; 10+ messages in thread
From: Ismagil Iskakov @ 2025-07-08  7:33 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Ismagil Iskakov

Arrays inside l2cap_set_lm/rfcomm_set_lm functions are of size 4,
but the bounds check allows the value 4 for 'level'.
---
 btio/btio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/btio/btio.c b/btio/btio.c
index b8afe0580..14f2b700e 100644
--- a/btio/btio.c
+++ b/btio/btio.c
@@ -455,7 +455,7 @@ static gboolean set_sec_level(int sock, BtIOType type, int level, GError **err)
 	struct bt_security sec;
 	int ret;
 
-	if (level < BT_SECURITY_LOW || level > BT_SECURITY_FIPS) {
+	if (level < BT_SECURITY_LOW || level > BT_SECURITY_HIGH) {
 		g_set_error(err, BT_IO_ERROR, EINVAL,
 				"Valid security level range is %d-%d",
 				BT_SECURITY_LOW, BT_SECURITY_HIGH);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-07-09 15:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-09 13:36 [PATCH BlueZ v4 0/4] Fix bugs found by static analysis Ismagil Iskakov
2025-07-09 13:36 ` [PATCH BlueZ v4 1/4] btio: fix range validation of security level Ismagil Iskakov
2025-07-09 15:11   ` Fix bugs found by static analysis bluez.test.bot
2025-07-09 13:36 ` [PATCH BlueZ v4 2/4] profiles/audio: add nullity checks Ismagil Iskakov
2025-07-09 13:36 ` [PATCH BlueZ v4 3/4] src/shared: " Ismagil Iskakov
2025-07-09 13:36 ` [PATCH BlueZ v4 4/4] obexd/client: fix err condition causing memleak Ismagil Iskakov
2025-07-09 14:00 ` [PATCH BlueZ v4 0/4] Fix bugs found by static analysis patchwork-bot+bluetooth
  -- strict thread matches above, loose matches on Subject: below --
2025-07-09 12:18 [PATCH BlueZ v3 1/4] btio: fix range validation of security level Ismagil Iskakov
2025-07-09 13:40 ` Fix bugs found by static analysis bluez.test.bot
2025-07-08 11:08 [PATCH BlueZ v2 01/11] btio: fix range validation of security level Ismagil Iskakov
2025-07-08 12:44 ` Fix bugs found by static analysis bluez.test.bot
2025-07-08  7:33 [PATCH BlueZ 01/11] btio: fix range validation of security level Ismagil Iskakov
2025-07-08  7:51 ` Fix bugs found by static analysis bluez.test.bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.