Fix: return 0 if no error occured.
[oweals/openssl.git] / apps / gendsa.c
index b1a1c4fcfae9fdfb3c1aa1435b1566066be4659d..6022d8f1427a6c29f8d4d73f9e4f680f378b9930 100644 (file)
@@ -178,7 +178,15 @@ bad:
        if (out == NULL) goto end;
 
        if (outfile == NULL)
+               {
                BIO_set_fp(out,stdout,BIO_NOCLOSE);
+#ifdef VMS
+               {
+               BIO *tmpbio = BIO_new(BIO_f_linebuffer());
+               out = BIO_push(tmpbio, out);
+               }
+#endif
+               }
        else
                {
                if (BIO_write_filename(out,outfile) <= 0)
@@ -209,9 +217,9 @@ end:
        if (ret != 0)
                ERR_print_errors(bio_err);
        if (in != NULL) BIO_free(in);
-       if (out != NULL) BIO_free(out);
+       if (out != NULL) BIO_free_all(out);
        if (dsa != NULL) DSA_free(dsa);
-       if(passout) Free(passout);
+       if(passout) OPENSSL_free(passout);
        EXIT(ret);
        }
 #endif