Backport 1.3: Wrong preproccessor condition fix
Fix for issue #696
Change #if defined(MBEDTLS_THREADING_PTHREAD)
to #if defined(MBEDTLS_THREADING_C)
diff --git a/ChangeLog b/ChangeLog
index 8493885..acb26e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
Bugfix
* Add a check if iv_len is zero, and return an error if it is zero. reported
by roberto. #716
+ * Replace preproccessor condition from #if defined(MBEDTLS_THREADING_PTHREAD)
+ to #if defined(MBEDTLS_THREADING_C) as the library cannot assume they will
+ always be implemented by pthread support. Fix for #696
= mbed TLS 1.3.20 branch released 2017-06-21
diff --git a/library/x509_crt.c b/library/x509_crt.c
index 0bf4dea..b6ca74c 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1038,10 +1038,10 @@
if( dir == NULL )
return( POLARSSL_ERR_X509_FILE_IO_ERROR );
-#if defined(POLARSSL_THREADING_PTHREAD)
+#if defined(POLARSSL_THREADING_C)
if( ( ret = polarssl_mutex_lock( &readdir_mutex ) ) != 0 )
return( ret );
-#endif
+#endif /* POLARSSL_THREADING_C */
while( ( entry = readdir( dir ) ) != NULL )
{
@@ -1068,10 +1068,10 @@
closedir( dir );
cleanup:
-#if defined(POLARSSL_THREADING_PTHREAD)
+#if defined(POLARSSL_THREADING_C)
if( polarssl_mutex_unlock( &readdir_mutex ) != 0 )
ret = POLARSSL_ERR_THREADING_MUTEX_ERROR;
-#endif
+#endif /* POLARSSL_THREADING_C */
#endif /* _WIN32 */