From 64704694a40b429f30c2a620c1a899479e0da36e Mon Sep 17 00:00:00 2001 From: Jeremy Schonfeld Date: Wed, 15 Jan 2025 12:20:15 -0500 Subject: [PATCH] Fix race condition in __CFStringGetEightBitStringEncoding (#5155) --- Sources/CoreFoundation/include/ForFoundationOnly.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Sources/CoreFoundation/include/ForFoundationOnly.h b/Sources/CoreFoundation/include/ForFoundationOnly.h index 5bfea27735..b524163d4c 100644 --- a/Sources/CoreFoundation/include/ForFoundationOnly.h +++ b/Sources/CoreFoundation/include/ForFoundationOnly.h @@ -287,8 +287,11 @@ CF_EXPORT CFStringEncoding __CFDefaultEightBitStringEncoding; CF_EXPORT CFStringEncoding __CFStringComputeEightBitStringEncoding(void); CF_INLINE CFStringEncoding __CFStringGetEightBitStringEncoding(void) { - if (__CFDefaultEightBitStringEncoding == kCFStringEncodingInvalidId) __CFStringComputeEightBitStringEncoding(); - return __CFDefaultEightBitStringEncoding; + if (__CFDefaultEightBitStringEncoding == kCFStringEncodingInvalidId) { + return __CFStringComputeEightBitStringEncoding(); + } else { + return __CFDefaultEightBitStringEncoding; + } } enum {