From 037afa65910cb2919d850b0813960a702b432a31 Mon Sep 17 00:00:00 2001 From: Brian Gix Date: Fri, 22 May 2020 11:40:40 -0700 Subject: [PATCH] mesh: Fix using uninitialized bytes Fixes two problems found with static analysis Change-Id: I66cef81aad17068d50f182b241b7acc6f0ff73f4 Signed-off-by: Abhay Agarwal --- mesh/crypto.c | 1 + mesh/node.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/mesh/crypto.c b/mesh/crypto.c index 617db84..1281b47 100644 --- a/mesh/crypto.c +++ b/mesh/crypto.c @@ -552,6 +552,7 @@ bool mesh_crypto_packet_build(bool ctl, uint8_t ttl, if (seq > SEQ_MASK) return false; + packet[0] = 0; l_put_be32(seq, packet + 1); packet[1] = (ctl ? CTL : 0) | (ttl & TTL_MASK); diff --git a/mesh/node.c b/mesh/node.c index 535a021..904f3f6 100644 --- a/mesh/node.c +++ b/mesh/node.c @@ -1596,6 +1596,8 @@ static void get_managed_objects_cb(struct l_dbus_message *msg, void *user_data) /* Generate device and primary network keys */ l_getrandom(dev_key, sizeof(dev_key)); l_getrandom(net_key.old_key, sizeof(net_key.old_key)); + memcpy(net_key.new_key, net_key.old_key, + sizeof(net_key.old_key)); net_key.net_idx = PRIMARY_NET_IDX; net_key.phase = KEY_REFRESH_PHASE_NONE; -- 2.7.4