]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Disable DLL detach handlers on cygwin
authorDavid McFarland <corngood@gmail.com>
Fri, 5 Dec 2025 17:21:38 +0000 (13:21 -0400)
committerNorbert Pocs <norbertp@openssl.org>
Thu, 19 Mar 2026 10:04:47 +0000 (11:04 +0100)
This patch is from cygwin, and was originally added in:

https://cygwin.com/cgit/cygwin-packages/openssl/commit/?id=da80cc438622f6b1801fb3fbb06818c3ee070495

In cygwin, it's not safe to call into libc from
DLL_THREAD/PROCESS_DETACH, and it results in crashes.

CLA: trivial

Co-authored-By: Achim Gratz <Achim.Gratz@Stromeko.DE>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Thu Mar 19 10:04:53 2026
(Merged from https://github.com/openssl/openssl/pull/29321)

crypto/dllmain.c
providers/fips/self_test.c

index d8060c7534acfae63cf576884243a8d088df4905..a0effb9619be846189b8b9d25fba527034d046d0 100644 (file)
@@ -34,7 +34,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
     case DLL_THREAD_ATTACH:
         break;
     case DLL_THREAD_DETACH:
+# ifndef __CYGWIN__
         OPENSSL_thread_stop();
+# endif
         break;
     case DLL_PROCESS_DETACH:
 #if defined(OSSL_DLLMAIN_DESTRUCTOR)
index b6d0427ba849eb7c9208db86a3d1846b5234a6c5..f4ea019c5eac7098c4b3bdb28148a2f0e37cfd11 100644 (file)
@@ -123,7 +123,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
         init();
         break;
     case DLL_PROCESS_DETACH:
+# ifndef __CYGWIN__
         cleanup();
+# endif
         break;
     default:
         break;