From e0cc7ebf32094cccbfee958378d2b442759e67ea Mon Sep 17 00:00:00 2001 From: Olaf Bergmann Date: Tue, 16 Jun 2020 10:05:23 +0200 Subject: [PATCH] net.c: fix possible derefence after null errors Fix possible null pointer dereference in coap_get_context_server_hint() and coap_get_context_server_psk(). These issues have been detected by Coverity scan as CIDs 1495725 and 1495729. --- src/net.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/net.c b/src/net.c index acfc93d4..e96cf8f4 100644 --- a/src/net.c +++ b/src/net.c @@ -330,7 +330,10 @@ coap_get_context_server_psk( (void)identity; (void)identity_len; - if (session && session->psk_key && + if (!session) + return 0; + + if (session->psk_key && session->psk_key->length <= max_psk_len) { memcpy(psk, session->psk_key->s, session->psk_key->length); return session->psk_key->length; @@ -352,7 +355,10 @@ coap_get_context_server_hint( ) { const coap_dtls_spsk_info_t *psk_info; - if (session && session->psk_hint && + if (!session) + return 0; + + if (session->psk_hint && session->psk_hint->s && session->psk_hint->length > 0 && session->psk_hint->length <= max_hint_len) { memcpy(hint, session->psk_hint->s, session->psk_hint->length);