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.
This commit is contained in:
Bodo Möller 2000-02-17 21:04:40 +00:00
parent 73c5591944
commit 5c2ec54f12

View File

@ -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;
}