From: Bodo Möller Date: Thu, 17 Feb 2000 21:04:40 +0000 (+0000) Subject: Make sure the return value of by_file_ctrl(..., X509_L_FILE_LOAD, ...) X-Git-Tag: OpenSSL_0_9_5beta1~52 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5c2ec54f120270d1edc5ec7caa6384355a670355;p=oweals%2Fopenssl.git Make sure the return value of by_file_ctrl(..., X509_L_FILE_LOAD, ...) aka X509_LOOKUP_load_file(...) is always 0 or 1, not the counter returned from the recently introduced function X509_load_cert_crl_file. X509_STORE_load_locations expects X509_LOOKUP_load_file to return 1 on success, and possibly there's other software that relies on this too. --- diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c index 78b4c47751..78e9240a8d 100644 --- a/crypto/x509/by_file.c +++ b/crypto/x509/by_file.c @@ -100,8 +100,8 @@ static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, case X509_L_FILE_LOAD: if (argl == X509_FILETYPE_DEFAULT) { - ok=X509_load_cert_crl_file(ctx,X509_get_default_cert_file(), - X509_FILETYPE_PEM); + ok = (X509_load_cert_crl_file(ctx,X509_get_default_cert_file(), + X509_FILETYPE_PEM) != 0); if (!ok) { X509err(X509_F_BY_FILE_CTRL,X509_R_LOADING_DEFAULTS); @@ -109,16 +109,17 @@ static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, else { file=(char *)Getenv(X509_get_default_cert_file_env()); - ok=X509_load_cert_crl_file(ctx,file, - X509_FILETYPE_PEM); + ok = (X509_load_cert_crl_file(ctx,file, + X509_FILETYPE_PEM) != 0); } } else { if(argl == X509_FILETYPE_PEM) - ok=X509_load_cert_crl_file(ctx,argp, - X509_FILETYPE_PEM); - else ok=X509_load_cert_file(ctx,argp,(int)argl); + ok = (X509_load_cert_crl_file(ctx,argp, + X509_FILETYPE_PEM) != 0); + else + ok = (X509_load_cert_file(ctx,argp,(int)argl) != 0); } break; }