- Set sane start values for structures that are closed or freed.
diff --git a/programs/x509/cert_app.c b/programs/x509/cert_app.c
index a1db884..12a1224 100644
--- a/programs/x509/cert_app.c
+++ b/programs/x509/cert_app.c
@@ -89,6 +89,15 @@
int i, j, n;
char *p, *q;
+ /*
+ * Set to sane values
+ */
+ server_fd = 0;
+ memset( &ssl, 0, sizeof( ssl_context ) );
+ memset( &ssn, 0, sizeof( ssl_session ) );
+ memset( &clicert, 0, sizeof( x509_cert ) );
+ memset( &rsa, 0, sizeof( rsa_context ) );
+
if( argc == 0 )
{
usage:
@@ -149,7 +158,6 @@
if( opt.mode == MODE_FILE )
{
x509_cert crt;
-
memset( &crt, 0, sizeof( x509_cert ) );
/*
@@ -191,7 +199,6 @@
* 1. Initialize the RNG and the session data
*/
havege_init( &hs );
- memset( &ssn, 0, sizeof( ssl_session ) );
/*
* 2. Start the connection
@@ -265,7 +272,8 @@
exit:
- net_close( server_fd );
+ if( server_fd )
+ net_close( server_fd );
x509_free( &clicert );
rsa_free( &rsa );
ssl_free( &ssl );