Fix memory leak.
[openssl.git] / ssl / t1_lib.c
index 3b8d5153eb6f669e96b3aaf3b7c156bb0dff40d7..f7abce9258ede420866813be7bdd1210c716bc55 100644 (file)
@@ -2361,7 +2361,11 @@ static int tls_decrypt_ticket(SSL *s, const unsigned char *etick, int eticklen,
                }
        EVP_DecryptUpdate(&ctx, sdec, &slen, p, eticklen);
        if (EVP_DecryptFinal(&ctx, sdec + slen, &mlen) <= 0)
+               {
+               EVP_CIPHER_CTX_cleanup(&ctx);
+               OPENSSL_free(sdec);
                return 2;
+               }
        slen += mlen;
        EVP_CIPHER_CTX_cleanup(&ctx);
        p = sdec;