From 0b73cc74723c47d3abd1b423485d63f2b806f2f8 Mon Sep 17 00:00:00 2001 From: Daniele Lacamera Date: Fri, 26 Mar 2021 15:26:02 +0100 Subject: [PATCH 1/2] Fix configuration WOLFSSH_NO_DH --- src/internal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/internal.c b/src/internal.c index f848370..914d344 100644 --- a/src/internal.c +++ b/src/internal.c @@ -6575,8 +6575,8 @@ int SendKexDhReply(WOLFSSH* ssh) word32 primeGroupSz = 0; const byte* generator = NULL; word32 generatorSz = 0; - struct wolfSSH_sigKeyBlockFull *sigKeyBlock_ptr; #endif + struct wolfSSH_sigKeyBlockFull *sigKeyBlock_ptr; #ifdef WOLFSSH_SMALL_STACK sigKeyBlock_ptr = WMALLOC(sizeof(struct wolfSSH_sigKeyBlockFull), ssh->ctx->heap, DYNTYPE_PRIVKEY); From 866a582e09df3d7260ed37e252699460b4cfd8a7 Mon Sep 17 00:00:00 2001 From: Daniele Lacamera Date: Fri, 26 Mar 2021 15:44:22 +0100 Subject: [PATCH 2/2] removed unused variable in the WOLFSSH_NO_DH configuration --- src/internal.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/internal.c b/src/internal.c index 914d344..0ad0145 100644 --- a/src/internal.c +++ b/src/internal.c @@ -6556,7 +6556,7 @@ int SendKexDhReply(WOLFSSH* ssh) { int ret = WS_SUCCESS; byte *f_ptr = NULL, *sig_ptr = NULL; - byte *y_ptr = NULL, *r_ptr = NULL, *s_ptr = NULL; + byte *r_ptr = NULL, *s_ptr = NULL; byte scratchLen[LENGTH_SZ]; word32 fSz = KEX_F_SIZE; word32 sigSz = KEX_SIG_SIZE; @@ -6571,6 +6571,7 @@ int SendKexDhReply(WOLFSSH* ssh) byte msgId = MSGID_KEXDH_REPLY; enum wc_HashType enmhashId; #ifndef WOLFSSH_NO_DH + byte *y_ptr = NULL; const byte* primeGroup = NULL; word32 primeGroupSz = 0; const byte* generator = NULL; @@ -7242,8 +7243,10 @@ int SendKexDhReply(WOLFSSH* ssh) WFREE(f_ptr, ssh->ctx->heap, DYNTYPE_BUFFER); if (sig_ptr) WFREE(sig_ptr, ssh->ctx->heap, DYNTYPE_BUFFER); +#ifndef WOLFSSH_NO_DH if (y_ptr) WFREE(r_ptr, ssh->ctx->heap, DYNTYPE_PRIVKEY); +#endif if (r_ptr) WFREE(r_ptr, ssh->ctx->heap, DYNTYPE_BUFFER); if (s_ptr)