Proper initialization and checks for rare cases
diff --git a/programs/ssl/ssl_client1.c b/programs/ssl/ssl_client1.c
index d629bd8..0405326 100644
--- a/programs/ssl/ssl_client1.c
+++ b/programs/ssl/ssl_client1.c
@@ -72,7 +72,7 @@
#else
int main( int argc, char *argv[] )
{
- int ret, len, server_fd;
+ int ret, len, server_fd = -1;
unsigned char buf[1024];
const char *pers = "ssl_client1";
diff --git a/programs/ssl/ssl_fork_server.c b/programs/ssl/ssl_fork_server.c
index 5ea79b3..47dedb4 100644
--- a/programs/ssl/ssl_fork_server.c
+++ b/programs/ssl/ssl_fork_server.c
@@ -97,7 +97,7 @@
{
int ret, len, cnt = 0, pid;
int listen_fd;
- int client_fd;
+ int client_fd = -1;
unsigned char buf[1024];
const char *pers = "ssl_fork_server";
diff --git a/programs/ssl/ssl_mail_client.c b/programs/ssl/ssl_mail_client.c
index 20ded2a..31e22fc 100644
--- a/programs/ssl/ssl_mail_client.c
+++ b/programs/ssl/ssl_mail_client.c
@@ -373,6 +373,7 @@
memset( &cacert, 0, sizeof( x509_cert ) );
memset( &clicert, 0, sizeof( x509_cert ) );
memset( &rsa, 0, sizeof( rsa_context ) );
+ memset( &ssl, 0, sizeof( ssl_context ) );
if( argc == 0 )
{
diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c
index 5be6d6c..3cc3f8a 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -259,6 +259,7 @@
memset( &cacert, 0, sizeof( x509_cert ) );
memset( &srvcert, 0, sizeof( x509_cert ) );
memset( &rsa, 0, sizeof( rsa_context ) );
+ memset( &ssl, 0, sizeof( ssl_context ) );
#if defined(POLARSSL_SSL_CACHE_C)
ssl_cache_init( &cache );
#endif