summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorguenther <>2015-04-06 04:09:59 +0000
committerguenther <>2015-04-06 04:09:59 +0000
commit3964b43b86a41724b5c18a4d8e594c5274eb25ee (patch)
tree3ecc40b98de6f069e94ee27f70b8e212319b44c7 /src/lib
parent245b7c67e68181b1d234f7cd939f6576df494743 (diff)
downloadopenbsd-3964b43b86a41724b5c18a4d8e594c5274eb25ee.tar.gz
openbsd-3964b43b86a41724b5c18a4d8e594c5274eb25ee.tar.bz2
openbsd-3964b43b86a41724b5c18a4d8e594c5274eb25ee.zip
readdir() is thread-safe when DIR handles aren't shared, so delete the lock.
(POSIX is fixing its description: readdir_r() was a botch) Patch from Carlos Mart�n Nieto (cmn (at) dwim.me) no -portable concerns bcook@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libssl/src/ssl/ssl_cert.c4
-rw-r--r--src/lib/libssl/ssl_cert.c4
2 files changed, 2 insertions, 6 deletions
diff --git a/src/lib/libssl/src/ssl/ssl_cert.c b/src/lib/libssl/src/ssl/ssl_cert.c
index 90c351298b..bc864883c8 100644
--- a/src/lib/libssl/src/ssl/ssl_cert.c
+++ b/src/lib/libssl/src/ssl/ssl_cert.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_cert.c,v 1.49 2014/12/14 15:30:50 jsing Exp $ */ 1/* $OpenBSD: ssl_cert.c,v 1.50 2015/04/06 04:09:59 guenther Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -712,7 +712,6 @@ SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, const char *dir)
712 char *path = NULL; 712 char *path = NULL;
713 int ret = 0; 713 int ret = 0;
714 714
715 CRYPTO_w_lock(CRYPTO_LOCK_READDIR);
716 dirp = opendir(dir); 715 dirp = opendir(dir);
717 if (dirp) { 716 if (dirp) {
718 struct dirent *dp; 717 struct dirent *dp;
@@ -732,6 +731,5 @@ SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, const char *dir)
732 ERR_asprintf_error_data("opendir ('%s')", dir); 731 ERR_asprintf_error_data("opendir ('%s')", dir);
733 SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, ERR_R_SYS_LIB); 732 SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, ERR_R_SYS_LIB);
734 } 733 }
735 CRYPTO_w_unlock(CRYPTO_LOCK_READDIR);
736 return ret; 734 return ret;
737} 735}
diff --git a/src/lib/libssl/ssl_cert.c b/src/lib/libssl/ssl_cert.c
index 90c351298b..bc864883c8 100644
--- a/src/lib/libssl/ssl_cert.c
+++ b/src/lib/libssl/ssl_cert.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_cert.c,v 1.49 2014/12/14 15:30:50 jsing Exp $ */ 1/* $OpenBSD: ssl_cert.c,v 1.50 2015/04/06 04:09:59 guenther Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -712,7 +712,6 @@ SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, const char *dir)
712 char *path = NULL; 712 char *path = NULL;
713 int ret = 0; 713 int ret = 0;
714 714
715 CRYPTO_w_lock(CRYPTO_LOCK_READDIR);
716 dirp = opendir(dir); 715 dirp = opendir(dir);
717 if (dirp) { 716 if (dirp) {
718 struct dirent *dp; 717 struct dirent *dp;
@@ -732,6 +731,5 @@ SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, const char *dir)
732 ERR_asprintf_error_data("opendir ('%s')", dir); 731 ERR_asprintf_error_data("opendir ('%s')", dir);
733 SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, ERR_R_SYS_LIB); 732 SSLerr(SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK, ERR_R_SYS_LIB);
734 } 733 }
735 CRYPTO_w_unlock(CRYPTO_LOCK_READDIR);
736 return ret; 734 return ret;
737} 735}