set 'sess = NULL' after freeing it. Closes #1999
authorAlan T. DeKok <aland@freeradius.org>
Thu, 1 Jun 2017 18:26:04 +0000 (14:26 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 1 Jun 2017 18:26:04 +0000 (14:26 -0400)
src/main/tls.c

index ce7799e..634924d 100644 (file)
@@ -1605,6 +1605,7 @@ static SSL_SESSION *cbtls_get_session(SSL *ssl, const unsigned char *data, int l
                        /* not safe to un-persist a session w/o VPs */
                        RWDEBUG("Failed loading persisted VPs for session %s", buffer);
                        SSL_SESSION_free(sess);
+                       sess = NULL;
                        goto error;
                }
 
@@ -1618,12 +1619,14 @@ static SSL_SESSION *cbtls_get_session(SSL *ssl, const unsigned char *data, int l
                        if (ocsp_asn1time_to_epoch(&expires, vp->vp_strvalue) < 0) {
                                RDEBUG2("Failed getting certificate expiration, removing cache entry for session %s", buffer);
                                SSL_SESSION_free(sess);
+                               sess = NULL;
                                goto error;
                        }
 
                        if (expires <= request->timestamp) {
                                RDEBUG2("Certificate has expired, removing cache entry for session %s", buffer);
                                SSL_SESSION_free(sess);
+                               sess = NULL;
                                goto error;
                        }