net: tcp: Conditionally compile entire tcpv4/6_init_isn()
Partial conditional compilation within tcpv4/6_init_isn() caused
errors in coverity, as hash variable seemed to be used w/o
initialization.
As those functions are not really used at all if
CONFIG_NET_TCP_ISN_RFC6528 is disabled, we can just conditionally
compile entire functions to avoid confusion.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
diff --git a/subsys/net/ip/tcp.c b/subsys/net/ip/tcp.c
index ac83844..066e8e5 100644
--- a/subsys/net/ip/tcp.c
+++ b/subsys/net/ip/tcp.c
@@ -2262,6 +2262,8 @@
return verdict;
}
+#if defined(CONFIG_NET_TCP_ISN_RFC6528)
+
static uint32_t seq_scale(uint32_t seq)
{
return seq + (k_ticks_to_ns_floor32(k_uptime_ticks()) >> 6);
@@ -2288,6 +2290,7 @@
};
uint8_t hash[16];
+ size_t hash_len;
static bool once;
if (!once) {
@@ -2297,12 +2300,8 @@
memcpy(buf.key, unique_key, sizeof(buf.key));
-#if defined(CONFIG_NET_TCP_ISN_RFC6528)
- size_t hash_len;
-
psa_hash_compute(PSA_ALG_SHA_256, (const unsigned char *)&buf, sizeof(buf),
hash, sizeof(hash), &hash_len);
-#endif
return seq_scale(UNALIGNED_GET((uint32_t *)&hash[0]));
}
@@ -2326,6 +2325,7 @@
};
uint8_t hash[16];
+ size_t hash_len;
static bool once;
if (!once) {
@@ -2335,16 +2335,20 @@
memcpy(buf.key, unique_key, sizeof(unique_key));
-#if defined(CONFIG_NET_TCP_ISN_RFC6528)
- size_t hash_len;
psa_hash_compute(PSA_ALG_SHA_256, (const unsigned char *)&buf, sizeof(buf),
hash, sizeof(hash), &hash_len);
-#endif
return seq_scale(UNALIGNED_GET((uint32_t *)&hash[0]));
}
+#else
+
+#define tcpv6_init_isn(...) (0UL)
+#define tcpv4_init_isn(...) (0UL)
+
+#endif /* CONFIG_NET_TCP_ISN_RFC6528 */
+
static uint32_t tcp_init_isn(struct sockaddr *saddr, struct sockaddr *daddr)
{
if (IS_ENABLED(CONFIG_NET_TCP_ISN_RFC6528)) {