Free list after usage
authorJames Rouzier <jrouzier@inverse.ca>
Mon, 19 Sep 2016 16:31:07 +0000 (12:31 -0400)
committerJames Rouzier <rouzier@gmail.com>
Tue, 20 Sep 2016 03:02:54 +0000 (23:02 -0400)
src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c

index 07714a3..24b2bef 100644 (file)
@@ -234,7 +234,7 @@ static int _session_ticket(SSL *s, uint8_t const *data, int len, void *arg)
        tls_session_t           *tls_session = arg;
        REQUEST                 *request = (REQUEST *)SSL_get_ex_data(s, FR_TLS_EX_INDEX_REQUEST);
        eap_fast_tunnel_t       *t;
-       VALUE_PAIR              *fast_vps;
+       VALUE_PAIR              *fast_vps = NULL;
        vp_cursor_t             cursor;
        DICT_ATTR const *fast_da;
        char const              *errmsg;
@@ -262,6 +262,7 @@ error:
                if (t->pac.key) talloc_free(t->pac.key);
 
                memset(&t->pac, 0, sizeof(t->pac));
+               if (fast_vps) fr_pair_list_free(&fast_vps);
                return 1;
        }
 
@@ -330,6 +331,8 @@ error:
                }
        }
 
+       fr_pair_list_free(&fast_vps);
+
        if (!t->pac.type) {
                errmsg = "PAC missing type TLV";
                goto error;