tools/mesh-cfg-client: Fix NULL pointer dereferencing
authorInga Stotland <inga.stotland@intel.com>
Fri, 8 Oct 2021 18:48:30 +0000 (11:48 -0700)
committerAyush Garg <ayush.garg@samsung.com>
Fri, 11 Mar 2022 13:38:37 +0000 (19:08 +0530)
This patch fixes a number of potential NULL pointer dereferencing
cases.

Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
tools/mesh/cfgcli.c
tools/mesh/mesh-db.c
tools/mesh/remote.c

index 2bf1a15..f815c51 100644 (file)
@@ -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);
index 195029d..46e9ccf 100644 (file)
@@ -2510,7 +2510,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;
 }
index 054da53..6ec220a 100644 (file)
@@ -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)