diff options
Diffstat (limited to 'src/lib/libcrypto/x509/by_dir.c')
-rw-r--r-- | src/lib/libcrypto/x509/by_dir.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/lib/libcrypto/x509/by_dir.c b/src/lib/libcrypto/x509/by_dir.c index 6207340472..ea689aed1a 100644 --- a/src/lib/libcrypto/x509/by_dir.c +++ b/src/lib/libcrypto/x509/by_dir.c | |||
@@ -114,7 +114,7 @@ static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, | |||
114 | { | 114 | { |
115 | int ret=0; | 115 | int ret=0; |
116 | BY_DIR *ld; | 116 | BY_DIR *ld; |
117 | char *dir; | 117 | char *dir = NULL; |
118 | 118 | ||
119 | ld=(BY_DIR *)ctx->method_data; | 119 | ld=(BY_DIR *)ctx->method_data; |
120 | 120 | ||
@@ -123,17 +123,16 @@ static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, | |||
123 | case X509_L_ADD_DIR: | 123 | case X509_L_ADD_DIR: |
124 | if (argl == X509_FILETYPE_DEFAULT) | 124 | if (argl == X509_FILETYPE_DEFAULT) |
125 | { | 125 | { |
126 | ret=add_cert_dir(ld,X509_get_default_cert_dir(), | 126 | dir=(char *)Getenv(X509_get_default_cert_dir_env()); |
127 | X509_FILETYPE_PEM); | 127 | if (dir) |
128 | ret=add_cert_dir(ld,dir,X509_FILETYPE_PEM); | ||
129 | else | ||
130 | ret=add_cert_dir(ld,X509_get_default_cert_dir(), | ||
131 | X509_FILETYPE_PEM); | ||
128 | if (!ret) | 132 | if (!ret) |
129 | { | 133 | { |
130 | X509err(X509_F_DIR_CTRL,X509_R_LOADING_CERT_DIR); | 134 | X509err(X509_F_DIR_CTRL,X509_R_LOADING_CERT_DIR); |
131 | } | 135 | } |
132 | else | ||
133 | { | ||
134 | dir=(char *)Getenv(X509_get_default_cert_dir_env()); | ||
135 | ret=add_cert_dir(ld,dir,X509_FILETYPE_PEM); | ||
136 | } | ||
137 | } | 136 | } |
138 | else | 137 | else |
139 | ret=add_cert_dir(ld,argp,(int)argl); | 138 | ret=add_cert_dir(ld,argp,(int)argl); |