public inbox for linux-bluetooth@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox