ssl_init() left a dirty in_ctr pointer on failed allocation of out_ctr
diff --git a/ChangeLog b/ChangeLog
index 0667d23..1708dd3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -43,6 +43,8 @@
client certificate.
* ssl_srv was leaking memory when client presented a timed out ticket
containing a client certificate
+ * ssl_init() was leaving a dirty pointer in ssl_context if malloc of
+ out_ctr failed
= PolarSSL 1.3.4 released on 2014-01-27
Features
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 20cb9bd..3fd6e34 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -3427,7 +3427,8 @@
if( ssl->out_ctr == NULL )
{
SSL_DEBUG_MSG( 1, ( "malloc(%d bytes) failed", len ) );
- polarssl_free( ssl-> in_ctr );
+ polarssl_free( ssl->in_ctr );
+ ssl->in_ctr = NULL;
return( POLARSSL_ERR_SSL_MALLOC_FAILED );
}