From a0bcdb6eb791f5bebff4dc9024b99f51d00ed53b Mon Sep 17 00:00:00 2001
From: Jakob Olsson <jakob.olsson@iopsys.eu>
Date: Wed, 18 Nov 2020 17:17:31 +0100
Subject: [PATCH] al_wsc: free allocated keys

---
 src/wsc/al_wsc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/wsc/al_wsc.c b/src/wsc/al_wsc.c
index ced28956..699c4c18 100644
--- a/src/wsc/al_wsc.c
+++ b/src/wsc/al_wsc.c
@@ -487,6 +487,8 @@ INT8U wscBuildM1(char *interface_name, INT8U **m1, INT16U *m1_size, void **key)
 			memcpy(private_key->key, priv, priv_len);
 
 		memcpy(private_key->mac, x->mac_address, 6);
+		FREE(pub);
+		FREE(priv);
 	}
 
 	// AUTHENTICATION TYPES
@@ -1292,6 +1294,7 @@ INT8U wscBuildM2(INT8U *m1, INT16U m1_size, INT8U **m2, INT16U *m2_size)
 		// We will use it later... save it.
 		local_privkey = priv;
 		local_privkey_len = priv_len;
+		FREE(pub);
 	}
 
 	// Key derivation (no bytes are written to the output buffer in the next
@@ -1763,6 +1766,7 @@ INT8U wscBuildM2(INT8U *m1, INT16U m1_size, INT8U **m2, INT16U *m2_size)
 	*m2 = buffer;
 	*m2_size = abs(p - buffer);
 
+	FREE(local_privkey);
 	return 1;
 }
 
-- 
GitLab