diff --git a/crypto/x509/by_dir.c b/crypto/x509/by_dir.c index 6207340472e494787328755766bf3f97185c665c..d56679177bf4451c86b87f5164b252967e81035c 100644 --- a/crypto/x509/by_dir.c +++ b/crypto/x509/by_dir.c @@ -122,19 +122,19 @@ static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, { case X509_L_ADD_DIR: if (argl == X509_FILETYPE_DEFAULT) + dir=(char *)Getenv(X509_get_default_cert_dir_env()); + if (dir) + ret=add_cert_dir(ld,dir,X509_FILETYPE_PEM); + else { ret=add_cert_dir(ld,X509_get_default_cert_dir(), X509_FILETYPE_PEM); + } if (!ret) { X509err(X509_F_DIR_CTRL,X509_R_LOADING_CERT_DIR); } - else - { - dir=(char *)Getenv(X509_get_default_cert_dir_env()); - ret=add_cert_dir(ld,dir,X509_FILETYPE_PEM); - } - } + else ret=add_cert_dir(ld,argp,(int)argl); break;