diff options
Diffstat (limited to 'src/lib/libcrypto/x509/by_dir.c')
-rw-r--r-- | src/lib/libcrypto/x509/by_dir.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/lib/libcrypto/x509/by_dir.c b/src/lib/libcrypto/x509/by_dir.c index b5512895a1..ccf2f6e0bf 100644 --- a/src/lib/libcrypto/x509/by_dir.c +++ b/src/lib/libcrypto/x509/by_dir.c | |||
@@ -246,13 +246,11 @@ add_cert_dir(BY_DIR *ctx, const char *dir, int type) | |||
246 | return 0; | 246 | return 0; |
247 | ent->dir_type = type; | 247 | ent->dir_type = type; |
248 | ent->hashes = sk_BY_DIR_HASH_new(by_dir_hash_cmp); | 248 | ent->hashes = sk_BY_DIR_HASH_new(by_dir_hash_cmp); |
249 | ent->dir = OPENSSL_malloc((unsigned int)len + 1); | 249 | ent->dir = strdup(ss); |
250 | if (!ent->dir || !ent->hashes) { | 250 | if (!ent->dir || !ent->hashes) { |
251 | by_dir_entry_free(ent); | 251 | by_dir_entry_free(ent); |
252 | return 0; | 252 | return 0; |
253 | } | 253 | } |
254 | strncpy(ent->dir, ss,(unsigned int)len); | ||
255 | ent->dir[len] = '\0'; | ||
256 | if (!sk_BY_DIR_ENTRY_push(ctx->dirs, ent)) { | 254 | if (!sk_BY_DIR_ENTRY_push(ctx->dirs, ent)) { |
257 | by_dir_entry_free(ent); | 255 | by_dir_entry_free(ent); |
258 | return 0; | 256 | return 0; |