diff mbox series

[BlueZ] tools/mesh-cfg-client: Fix NULL pointer dereferencing

Message ID 20211008184830.24276-1-inga.stotland@intel.com (mailing list archive)
State Accepted
Headers show
Series [BlueZ] tools/mesh-cfg-client: Fix NULL pointer dereferencing | expand

Checks

Context Check Description
tedd_an/checkpatch success Checkpatch PASS
tedd_an/gitlint success Gitlint PASS
tedd_an/setupell success Setup ELL PASS
tedd_an/buildprep success Build Prep PASS
tedd_an/build success Build Configuration PASS
tedd_an/makecheck success Make Check PASS
tedd_an/makedistcheck success Make Distcheck PASS
tedd_an/build_extell success Build External ELL PASS
tedd_an/build_extell_make success Build Make with External ELL PASS

Commit Message

Stotland, Inga Oct. 8, 2021, 6:48 p.m. UTC
This patch fixes a number of potential NULL pointer dereferencing
cases.
---
 tools/mesh/cfgcli.c  | 2 --
 tools/mesh/mesh-db.c | 3 ++-
 tools/mesh/remote.c  | 6 ++++++
 3 files changed, 8 insertions(+), 3 deletions(-)

Comments

bluez.test.bot@gmail.com Oct. 8, 2021, 7:30 p.m. UTC | #1
This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=560133

---Test result---

Test Summary:
CheckPatch                    PASS      1.47 seconds
GitLint                       PASS      0.91 seconds
Prep - Setup ELL              PASS      42.04 seconds
Build - Prep                  PASS      0.47 seconds
Build - Configure             PASS      7.84 seconds
Build - Make                  PASS      178.80 seconds
Make Check                    PASS      8.90 seconds
Make Distcheck                PASS      214.84 seconds
Build w/ext ELL - Configure   PASS      7.99 seconds
Build w/ext ELL - Make        PASS      171.15 seconds



---
Regards,
Linux Bluetooth
Brian Gix Oct. 8, 2021, 10:40 p.m. UTC | #2
Patch Applied

On Fri, 2021-10-08 at 11:48 -0700, Inga Stotland wrote:
> This patch fixes a number of potential NULL pointer dereferencing
> cases.
> ---
>  tools/mesh/cfgcli.c  | 2 --
>  tools/mesh/mesh-db.c | 3 ++-
>  tools/mesh/remote.c  | 6 ++++++
>  3 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/mesh/cfgcli.c b/tools/mesh/cfgcli.c
> index 2bf1a1503..f815c513c 100644
> --- a/tools/mesh/cfgcli.c
> +++ b/tools/mesh/cfgcli.c
> @@ -668,8 +668,6 @@ static bool msg_recvd(uint16_t src, uint16_t idx, uint8_t *data,
>                         break;
>                 }
>  
> -               bt_shell_printf("Period\t\t%d ms\n", pub.period);
> -
>                 pub.rtx_cnt = data[9] & 0x7;
>                 pub.rtx_interval = ((data[9] >> 3) + 1) * 50;
>                 bt_shell_printf("Rexmit count\t%d\n", pub.rtx_cnt);
> diff --git a/tools/mesh/mesh-db.c b/tools/mesh/mesh-db.c
> index 12055c1a9..1a1ba380b 100644
> --- a/tools/mesh/mesh-db.c
> +++ b/tools/mesh/mesh-db.c
> @@ -2508,7 +2508,8 @@ void *mesh_db_prepare_export(void)
>         jarray = json_object_new_array();
>         json_object_object_add(export, "scenes", jarray);
>  
> -       write_bool(export, "partial", false);
> +       if (!write_bool(export, "partial", false))
> +               l_warn("Failed to write\"partial\" property");
>  
>         return export;
>  }
> diff --git a/tools/mesh/remote.c b/tools/mesh/remote.c
> index 054da5300..6ec220a6f 100644
> --- a/tools/mesh/remote.c
> +++ b/tools/mesh/remote.c
> @@ -281,6 +281,9 @@ bool remote_update_net_key(uint16_t addr, uint16_t net_idx, bool update,
>  
>         key = l_queue_find(rmt->net_keys, match_key,
>                                                 L_UINT_TO_PTR(net_idx));
> +       if (!key)
> +               return false;
> +
>         key->updated = update;
>  
>         if (save)
> @@ -343,6 +346,9 @@ bool remote_update_app_key(uint16_t addr, uint16_t app_idx, bool update,
>  
>         key = l_queue_find(rmt->app_keys, match_key,
>                                                 L_UINT_TO_PTR(app_idx));
> +       if (!key)
> +               return false;
> +
>         key->updated = update;
>  
>         if (save)
diff mbox series

Patch

diff --git a/tools/mesh/cfgcli.c b/tools/mesh/cfgcli.c
index 2bf1a1503..f815c513c 100644
--- a/tools/mesh/cfgcli.c
+++ b/tools/mesh/cfgcli.c
@@ -668,8 +668,6 @@  static bool msg_recvd(uint16_t src, uint16_t idx, uint8_t *data,
 			break;
 		}
 
-		bt_shell_printf("Period\t\t%d ms\n", pub.period);
-
 		pub.rtx_cnt = data[9] & 0x7;
 		pub.rtx_interval = ((data[9] >> 3) + 1) * 50;
 		bt_shell_printf("Rexmit count\t%d\n", pub.rtx_cnt);
diff --git a/tools/mesh/mesh-db.c b/tools/mesh/mesh-db.c
index 12055c1a9..1a1ba380b 100644
--- a/tools/mesh/mesh-db.c
+++ b/tools/mesh/mesh-db.c
@@ -2508,7 +2508,8 @@  void *mesh_db_prepare_export(void)
 	jarray = json_object_new_array();
 	json_object_object_add(export, "scenes", jarray);
 
-	write_bool(export, "partial", false);
+	if (!write_bool(export, "partial", false))
+		l_warn("Failed to write\"partial\" property");
 
 	return export;
 }
diff --git a/tools/mesh/remote.c b/tools/mesh/remote.c
index 054da5300..6ec220a6f 100644
--- a/tools/mesh/remote.c
+++ b/tools/mesh/remote.c
@@ -281,6 +281,9 @@  bool remote_update_net_key(uint16_t addr, uint16_t net_idx, bool update,
 
 	key = l_queue_find(rmt->net_keys, match_key,
 						L_UINT_TO_PTR(net_idx));
+	if (!key)
+		return false;
+
 	key->updated = update;
 
 	if (save)
@@ -343,6 +346,9 @@  bool remote_update_app_key(uint16_t addr, uint16_t app_idx, bool update,
 
 	key = l_queue_find(rmt->app_keys, match_key,
 						L_UINT_TO_PTR(app_idx));
+	if (!key)
+		return false;
+
 	key->updated = update;
 
 	if (save)