From 811cd997aeb7aef0e230b25d36601c1ba0602d44 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Tue, 3 Dec 2002 16:51:51 +0000 Subject: [PATCH] EXIT() may mean return(). That's confusing, so let's have it really mean exit() in whatever way works for the intended platform, and define OPENSSL_EXIT() to have the old meaning (the name is of course because it's only used in the openssl program) --- apps/asn1pars.c | 2 +- apps/ca.c | 2 +- apps/ciphers.c | 2 +- apps/crl.c | 2 +- apps/crl2p7.c | 4 ++-- apps/dgst.c | 2 +- apps/dh.c | 2 +- apps/dhparam.c | 2 +- apps/dsa.c | 2 +- apps/dsaparam.c | 2 +- apps/enc.c | 2 +- apps/errstr.c | 2 +- apps/gendh.c | 2 +- apps/gendsa.c | 2 +- apps/genrsa.c | 2 +- apps/nseq.c | 4 ++-- apps/openssl.c | 2 +- apps/passwd.c | 4 ++-- apps/pkcs12.c | 2 +- apps/pkcs7.c | 4 ++-- apps/rand.c | 2 +- apps/req.c | 2 +- apps/rsa.c | 2 +- apps/s_client.c | 2 +- apps/s_server.c | 2 +- apps/s_time.c | 4 ++-- apps/sess_id.c | 2 +- apps/speed.c | 2 +- apps/spkac.c | 2 +- apps/verify.c | 2 +- apps/version.c | 2 +- apps/x509.c | 2 +- e_os.h | 30 +++++++++++++++--------------- 33 files changed, 52 insertions(+), 52 deletions(-) diff --git a/apps/asn1pars.c b/apps/asn1pars.c index 5339166e08..8cc13ee2d1 100644 --- a/apps/asn1pars.c +++ b/apps/asn1pars.c @@ -328,6 +328,6 @@ end: if (at != NULL) ASN1_TYPE_free(at); if (osk != NULL) sk_free(osk); OBJ_cleanup(); - EXIT(ret); + OPENSSL_EXIT(ret); } diff --git a/apps/ca.c b/apps/ca.c index 8301f0f38f..7e64a75e8d 100644 --- a/apps/ca.c +++ b/apps/ca.c @@ -1280,7 +1280,7 @@ err: X509_CRL_free(crl); CONF_free(conf); OBJ_cleanup(); - EXIT(ret); + OPENSSL_EXIT(ret); } static void lookup_fail(char *name, char *tag) diff --git a/apps/ciphers.c b/apps/ciphers.c index b6e2f966d8..0dc30d65e4 100644 --- a/apps/ciphers.c +++ b/apps/ciphers.c @@ -202,6 +202,6 @@ end: if (ctx != NULL) SSL_CTX_free(ctx); if (ssl != NULL) SSL_free(ssl); if (STDout != NULL) BIO_free_all(STDout); - EXIT(ret); + OPENSSL_EXIT(ret); } diff --git a/apps/crl.c b/apps/crl.c index 3b5725f23f..648a32ee4c 100644 --- a/apps/crl.c +++ b/apps/crl.c @@ -364,7 +364,7 @@ end: X509_STORE_CTX_cleanup(&ctx); X509_STORE_free(store); } - EXIT(ret); + OPENSSL_EXIT(ret); } static X509_CRL *load_crl(char *infile, int format) diff --git a/apps/crl2p7.c b/apps/crl2p7.c index 7f853b65ab..3ef55dd2bb 100644 --- a/apps/crl2p7.c +++ b/apps/crl2p7.c @@ -166,7 +166,7 @@ bad: BIO_printf(bio_err," -certfile arg certificates file of chain to a trusted CA\n"); BIO_printf(bio_err," (can be used more than once)\n"); BIO_printf(bio_err," -nocrl no crl to load, just certs from '-certfile'\n"); - EXIT(1); + OPENSSL_EXIT(1); } ERR_load_crypto_strings(); @@ -278,7 +278,7 @@ end: if (p7 != NULL) PKCS7_free(p7); if (crl != NULL) X509_CRL_free(crl); - EXIT(ret); + OPENSSL_EXIT(ret); } /* diff --git a/apps/dgst.c b/apps/dgst.c index 8da784771a..e339811365 100644 --- a/apps/dgst.c +++ b/apps/dgst.c @@ -335,7 +335,7 @@ end: EVP_PKEY_free(sigkey); if(sigbuf) OPENSSL_free(sigbuf); if (bmd != NULL) BIO_free(bmd); - EXIT(err); + OPENSSL_EXIT(err); } void do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout, diff --git a/apps/dh.c b/apps/dh.c index 7465442e49..ee2514a07e 100644 --- a/apps/dh.c +++ b/apps/dh.c @@ -319,6 +319,6 @@ end: if (in != NULL) BIO_free(in); if (out != NULL) BIO_free_all(out); if (dh != NULL) DH_free(dh); - EXIT(ret); + OPENSSL_EXIT(ret); } #endif diff --git a/apps/dhparam.c b/apps/dhparam.c index 5f9b60148d..baf0d3302a 100644 --- a/apps/dhparam.c +++ b/apps/dhparam.c @@ -506,7 +506,7 @@ end: if (in != NULL) BIO_free(in); if (out != NULL) BIO_free_all(out); if (dh != NULL) DH_free(dh); - EXIT(ret); + OPENSSL_EXIT(ret); } /* dh_cb is identical to dsa_cb in apps/dsaparam.c */ diff --git a/apps/dsa.c b/apps/dsa.c index 7c4a46f78e..04efe16b58 100644 --- a/apps/dsa.c +++ b/apps/dsa.c @@ -293,6 +293,6 @@ end: if(dsa != NULL) DSA_free(dsa); if(passin) OPENSSL_free(passin); if(passout) OPENSSL_free(passout); - EXIT(ret); + OPENSSL_EXIT(ret); } #endif diff --git a/apps/dsaparam.c b/apps/dsaparam.c index 0c2529e285..ea29b0cf65 100644 --- a/apps/dsaparam.c +++ b/apps/dsaparam.c @@ -357,7 +357,7 @@ end: if (in != NULL) BIO_free(in); if (out != NULL) BIO_free_all(out); if (dsa != NULL) DSA_free(dsa); - EXIT(ret); + OPENSSL_EXIT(ret); } static void MS_CALLBACK dsa_cb(int p, int n, void *arg) diff --git a/apps/enc.c b/apps/enc.c index 1e554053ea..397b0e9c12 100644 --- a/apps/enc.c +++ b/apps/enc.c @@ -604,7 +604,7 @@ end: if (benc != NULL) BIO_free(benc); if (b64 != NULL) BIO_free(b64); if(pass) OPENSSL_free(pass); - EXIT(ret); + OPENSSL_EXIT(ret); } int set_hex(char *in, unsigned char *out, int size) diff --git a/apps/errstr.c b/apps/errstr.c index e392328f93..de7d5fd650 100644 --- a/apps/errstr.c +++ b/apps/errstr.c @@ -121,5 +121,5 @@ int MAIN(int argc, char **argv) ret++; } } - EXIT(ret); + OPENSSL_EXIT(ret); } diff --git a/apps/gendh.c b/apps/gendh.c index e0c7889a31..f02f87d17b 100644 --- a/apps/gendh.c +++ b/apps/gendh.c @@ -184,7 +184,7 @@ end: ERR_print_errors(bio_err); if (out != NULL) BIO_free_all(out); if (dh != NULL) DH_free(dh); - EXIT(ret); + OPENSSL_EXIT(ret); } static void MS_CALLBACK dh_cb(int p, int n, void *arg) diff --git a/apps/gendsa.c b/apps/gendsa.c index 6022d8f142..4abd7786b1 100644 --- a/apps/gendsa.c +++ b/apps/gendsa.c @@ -220,6 +220,6 @@ end: if (out != NULL) BIO_free_all(out); if (dsa != NULL) DSA_free(dsa); if(passout) OPENSSL_free(passout); - EXIT(ret); + OPENSSL_EXIT(ret); } #endif diff --git a/apps/genrsa.c b/apps/genrsa.c index ac0b709e7a..1f0f2d7809 100644 --- a/apps/genrsa.c +++ b/apps/genrsa.c @@ -224,7 +224,7 @@ err: if(passout) OPENSSL_free(passout); if (ret != 0) ERR_print_errors(bio_err); - EXIT(ret); + OPENSSL_EXIT(ret); } static void MS_CALLBACK genrsa_cb(int p, int n, void *arg) diff --git a/apps/nseq.c b/apps/nseq.c index 1d73d1ad52..da5277d4c4 100644 --- a/apps/nseq.c +++ b/apps/nseq.c @@ -102,7 +102,7 @@ int MAIN(int argc, char **argv) BIO_printf (bio_err, "-in file input file\n"); BIO_printf (bio_err, "-out file output file\n"); BIO_printf (bio_err, "-toseq output NS Sequence file\n"); - EXIT(1); + OPENSSL_EXIT(1); } if (infile) { @@ -162,6 +162,6 @@ end: BIO_free_all(out); NETSCAPE_CERT_SEQUENCE_free(seq); - EXIT(ret); + OPENSSL_EXIT(ret); } diff --git a/apps/openssl.c b/apps/openssl.c index 55af53f3e2..95e1e00a8d 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -215,7 +215,7 @@ end: BIO_free(bio_err); bio_err=NULL; } - EXIT(ret); + OPENSSL_EXIT(ret); } #define LIST_STANDARD_COMMANDS "list-standard-commands" diff --git a/apps/passwd.c b/apps/passwd.c index ea2b089e24..eaa90312fc 100644 --- a/apps/passwd.c +++ b/apps/passwd.c @@ -284,7 +284,7 @@ err: BIO_free(in); if (out) BIO_free_all(out); - EXIT(ret); + OPENSSL_EXIT(ret); } @@ -498,6 +498,6 @@ err: int MAIN(int argc, char **argv) { fputs("Program not available.\n", stderr) - EXIT(1); + OPENSSL_EXIT(1); } #endif diff --git a/apps/pkcs12.c b/apps/pkcs12.c index f53b44721e..4e20c0cc36 100644 --- a/apps/pkcs12.c +++ b/apps/pkcs12.c @@ -666,7 +666,7 @@ int MAIN(int argc, char **argv) if (canames) sk_free(canames); if(passin) OPENSSL_free(passin); if(passout) OPENSSL_free(passout); - EXIT(ret); + OPENSSL_EXIT(ret); } int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass, diff --git a/apps/pkcs7.c b/apps/pkcs7.c index a9fff11e5c..f100c8d053 100644 --- a/apps/pkcs7.c +++ b/apps/pkcs7.c @@ -154,7 +154,7 @@ bad: BIO_printf(bio_err," -print_certs print any certs or crl in the input\n"); BIO_printf(bio_err," -text print full details of certificates\n"); BIO_printf(bio_err," -noout don't output encoded data\n"); - EXIT(1); + OPENSSL_EXIT(1); } ERR_load_crypto_strings(); @@ -289,5 +289,5 @@ end: if (p7 != NULL) PKCS7_free(p7); if (in != NULL) BIO_free(in); if (out != NULL) BIO_free_all(out); - EXIT(ret); + OPENSSL_EXIT(ret); } diff --git a/apps/rand.c b/apps/rand.c index 04764d7ffb..498a802650 100644 --- a/apps/rand.c +++ b/apps/rand.c @@ -144,5 +144,5 @@ err: ERR_print_errors(bio_err); if (out) BIO_free_all(out); - EXIT(ret); + OPENSSL_EXIT(ret); } diff --git a/apps/req.c b/apps/req.c index f9253452a7..0fb426d902 100644 --- a/apps/req.c +++ b/apps/req.c @@ -909,7 +909,7 @@ end: #ifndef NO_DSA if (dsa_params != NULL) DSA_free(dsa_params); #endif - EXIT(ex); + OPENSSL_EXIT(ex); } static int make_REQ(X509_REQ *req, EVP_PKEY *pkey, int attribs) diff --git a/apps/rsa.c b/apps/rsa.c index b4b0651a94..f35b6d166e 100644 --- a/apps/rsa.c +++ b/apps/rsa.c @@ -389,7 +389,7 @@ end: if(rsa != NULL) RSA_free(rsa); if(passin) OPENSSL_free(passin); if(passout) OPENSSL_free(passout); - EXIT(ret); + OPENSSL_EXIT(ret); } #else /* !NO_RSA */ diff --git a/apps/s_client.c b/apps/s_client.c index a637fec0a6..3e2a2953d7 100644 --- a/apps/s_client.c +++ b/apps/s_client.c @@ -775,7 +775,7 @@ end: BIO_free(bio_c_out); bio_c_out=NULL; } - EXIT(ret); + OPENSSL_EXIT(ret); } diff --git a/apps/s_server.c b/apps/s_server.c index 0cff7f8ade..0839ac07da 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -741,7 +741,7 @@ end: BIO_free(bio_s_out); bio_s_out=NULL; } - EXIT(ret); + OPENSSL_EXIT(ret); } static void print_stats(BIO *bio, SSL_CTX *ssl_ctx) diff --git a/apps/s_time.c b/apps/s_time.c index 2d8e2b24d2..c8719a6a22 100644 --- a/apps/s_time.c +++ b/apps/s_time.c @@ -461,7 +461,7 @@ int MAIN(int argc, char **argv) if (tm_cipher == NULL ) { fprintf( stderr, "No CIPHER specified\n" ); -/* EXIT(1); */ +/* OPENSSL_EXIT(1); */ } if (!(perform & 1)) goto next; @@ -628,7 +628,7 @@ end: SSL_CTX_free(tm_ctx); tm_ctx=NULL; } - EXIT(ret); + OPENSSL_EXIT(ret); } /*********************************************************************** diff --git a/apps/sess_id.c b/apps/sess_id.c index 60cc3f1e49..cf15006ca7 100644 --- a/apps/sess_id.c +++ b/apps/sess_id.c @@ -272,7 +272,7 @@ bad: end: if (out != NULL) BIO_free_all(out); if (x != NULL) SSL_SESSION_free(x); - EXIT(ret); + OPENSSL_EXIT(ret); } static SSL_SESSION *load_sess_id(char *infile, int format) diff --git a/apps/speed.c b/apps/speed.c index 9fb0aa1991..6ae0c8d6eb 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -1412,7 +1412,7 @@ end: if (dsa_key[i] != NULL) DSA_free(dsa_key[i]); #endif - EXIT(mret); + OPENSSL_EXIT(mret); } static void print_message(char *s, long num, int length) diff --git a/apps/spkac.c b/apps/spkac.c index 459d730a70..94723a79c3 100644 --- a/apps/spkac.c +++ b/apps/spkac.c @@ -288,5 +288,5 @@ end: BIO_free(key); EVP_PKEY_free(pkey); if(passin) OPENSSL_free(passin); - EXIT(ret); + OPENSSL_EXIT(ret); } diff --git a/apps/verify.c b/apps/verify.c index 47e602d4a3..3ff1c0f9e7 100644 --- a/apps/verify.c +++ b/apps/verify.c @@ -213,7 +213,7 @@ end: if (cert_ctx != NULL) X509_STORE_free(cert_ctx); sk_X509_pop_free(untrusted, X509_free); sk_X509_pop_free(trusted, X509_free); - EXIT(ret); + OPENSSL_EXIT(ret); } static int check(X509_STORE *ctx, char *file, STACK_OF(X509) *uchain, STACK_OF(X509) *tchain, int purpose) diff --git a/apps/version.c b/apps/version.c index f5c9adc254..b67f2d1812 100644 --- a/apps/version.c +++ b/apps/version.c @@ -128,5 +128,5 @@ int MAIN(int argc, char **argv) } if (cflags) printf("%s\n",SSLeay_version(SSLEAY_CFLAGS)); end: - EXIT(ret); + OPENSSL_EXIT(ret); } diff --git a/apps/x509.c b/apps/x509.c index 7dfbfbfee9..d20cf15267 100644 --- a/apps/x509.c +++ b/apps/x509.c @@ -961,7 +961,7 @@ end: sk_ASN1_OBJECT_pop_free(trust, ASN1_OBJECT_free); sk_ASN1_OBJECT_pop_free(reject, ASN1_OBJECT_free); if (passin) OPENSSL_free(passin); - EXIT(ret); + OPENSSL_EXIT(ret); } static int x509_certify(X509_STORE *ctx, char *CAfile, const EVP_MD *digest, diff --git a/e_os.h b/e_os.h index 30008fa781..58df717722 100644 --- a/e_os.h +++ b/e_os.h @@ -219,10 +219,11 @@ extern "C" { # define _kbhit kbhit # endif -# if defined(WIN16) && !defined(MONOLITH) && defined(SSLEAY) && defined(_WINEXITNOPERSIST) -# define EXIT(n) do { if (n == 0) _wsetexit(_WINEXITNOPERSIST); return(n); } while(0) +# if defined(WIN16) && defined(SSLEAY) && defined(_WINEXITNOPERSIST) +# define EXIT(n) _wsetexit(_WINEXITNOPERSIST) +# define OPENSSL_EXIT(n) do { if (n == 0) EXIT(n); return(n); } while(0) # else -# define EXIT(n) return(n) +# define EXIT(n) return(n) # endif # define LIST_SEPARATOR_CHAR ';' # ifndef X_OK @@ -275,18 +276,13 @@ extern "C" { the status is tagged as an error, which I believe is what is wanted here. -- Richard Levitte */ -# if !defined(MONOLITH) || defined(OPENSSL_C) -# define EXIT(n) do { int __VMS_EXIT = n; \ +# define EXIT(n) do { int __VMS_EXIT = n; \ if (__VMS_EXIT == 0) \ __VMS_EXIT = 1; \ else \ __VMS_EXIT = (n << 3) | 2; \ __VMS_EXIT |= 0x10000000; \ - exit(__VMS_EXIT); \ - return(__VMS_EXIT); } while(0) -# else -# define EXIT(n) return(n) -# endif + exit(__VMS_EXIT); } while(0) # define NO_SYS_PARAM_H # else /* !defined VMS */ @@ -317,11 +313,7 @@ extern "C" { # define RFILE ".rnd" # define LIST_SEPARATOR_CHAR ':' # define NUL_DEV "/dev/null" -# ifndef MONOLITH -# define EXIT(n) do { exit(n); return(n); } while(0) -# else -# define EXIT(n) return(n) -# endif +# define EXIT(n) exit(n) # endif # define SSLeay_getpid() getpid() @@ -441,6 +433,14 @@ extern char *sys_errlist[]; extern int sys_nerr; (((errnum)<0 || (errnum)>=sys_nerr) ? NULL : sys_errlist[errnum]) #endif +#ifndef OPENSSL_EXIT +# if defined(MONOLITH) && !defined(OPENSSL_C) +# define OPENSSL_EXIT(n) return(n) +# else +# define OPENSSL_EXIT(n) do { EXIT(n); return(n); } while(0) +# endif +#endif + /***********************************************/ /* do we need to do this for getenv. -- 2.25.1