Change dir_ctrl to check for the environment variable before using the default
[openssl.git] / crypto / x509 / by_dir.c
index 6207340472e494787328755766bf3f97185c665c..d56679177bf4451c86b87f5164b252967e81035c 100644 (file)
@@ -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;