Cleaned up location of init and free for some programs to prevent memory
leaks on incorrect arguments
diff --git a/programs/pkey/gen_key.c b/programs/pkey/gen_key.c
index 9f060b7..43ae6e1 100644
--- a/programs/pkey/gen_key.c
+++ b/programs/pkey/gen_key.c
@@ -146,9 +146,12 @@
         return( -1 );
 
     if( fwrite( c, 1, len, f ) != len )
+    {
+        fclose( f );
         return( -1 );
+    }
 
-    fclose(f);
+    fclose( f );
 
     return( 0 );
 }