From 34cd8d5f3e76f85c1dcb2466222994e6972ab494 Mon Sep 17 00:00:00 2001 From: Tim Kourt Date: Tue, 15 Oct 2019 10:34:11 -0700 Subject: [PATCH] eap-ttls: Fix memory leak A very unlikely condition could result in struct phase2_method being leaked. --- src/eap-ttls.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/eap-ttls.c b/src/eap-ttls.c index 00559cb7..619c7efa 100644 --- a/src/eap-ttls.c +++ b/src/eap-ttls.c @@ -1089,7 +1089,7 @@ static bool eap_ttls_settings_load(struct eap_state *eap, struct l_settings *settings, const char *prefix) { - struct phase2_method *phase2 = l_new(struct phase2_method, 1); + struct phase2_method *phase2; const char *phase2_method_name; char setting[72]; uint8_t i; @@ -1100,6 +1100,8 @@ static bool eap_ttls_settings_load(struct eap_state *eap, if (!phase2_method_name) return false; + phase2 = l_new(struct phase2_method, 1); + snprintf(setting, sizeof(setting), "%sTTLS-Phase2-", prefix); for (i = 0; tunneled_non_eap_method_ops[i].name; i++) {