From c1a39cc0f83fcae439d260d7ebfc3e3d5c480221 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 14 Oct 2024 10:46:32 +0200 Subject: [PATCH 1/3] fix: Data race in SentrySwizzleInfo.originalCalled --- Sources/Sentry/SentrySwizzle.m | 2 +- Sources/Sentry/include/HybridPublic/SentrySwizzle.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/Sentry/SentrySwizzle.m b/Sources/Sentry/SentrySwizzle.m index c677afe407d..13c37553557 100644 --- a/Sources/Sentry/SentrySwizzle.m +++ b/Sources/Sentry/SentrySwizzle.m @@ -24,7 +24,7 @@ - (SentrySwizzleOriginalIMP)getOriginalImplementation return NULL; } -#if defined(TEST) || defined(TESTCI) || defined(DEBUG) +#if defined(TEST) || defined(TESTCI) @synchronized(self) { self.originalCalled = YES; } diff --git a/Sources/Sentry/include/HybridPublic/SentrySwizzle.h b/Sources/Sentry/include/HybridPublic/SentrySwizzle.h index 6a824167417..1e21a23f6fe 100644 --- a/Sources/Sentry/include/HybridPublic/SentrySwizzle.h +++ b/Sources/Sentry/include/HybridPublic/SentrySwizzle.h @@ -159,7 +159,7 @@ typedef void (*SentrySwizzleOriginalIMP)(void /* id, SEL, ... */); */ @property (nonatomic, readonly) SEL selector; -#if defined(TEST) || defined(TESTCI) || defined(DEBUG) +#if defined(TEST) || defined(TESTCI) /** * A flag to check whether the original implementation was called. */ @@ -367,7 +367,7 @@ typedef NS_ENUM(NSUInteger, SentrySwizzleMode) { // and remove it later. #define _SentrySWArguments(arguments...) DEL, ##arguments -#if defined(TEST) || defined(TESTCI) || defined(DEBUG) +#if defined(TEST) || defined(TESTCI) # define _SentrySWReplacement(code...) \ @try { \ code \ From 03b7604a70748caa018a514593b757a9f81a786c Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 14 Oct 2024 10:47:14 +0200 Subject: [PATCH 2/3] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf55a5be505..e17382ecda7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ via the option `swizzleClassNameExclude`. - Add TTID/TTFD spans when loadView gets skipped (#4415) - Finish TTID correctly when viewWillAppear is skipped (#4417) - Swizzling RootUIViewController if ignored by `swizzleClassNameExclude` (#4407) +- Data race in SentrySwizzleInfo.originalCalled () ### Improvements From a637179d6bbb9a242e245dbc3e2343584a17f932 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 14 Oct 2024 10:50:32 +0200 Subject: [PATCH 3/3] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e17382ecda7..09bba2d4204 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ via the option `swizzleClassNameExclude`. - Add TTID/TTFD spans when loadView gets skipped (#4415) - Finish TTID correctly when viewWillAppear is skipped (#4417) - Swizzling RootUIViewController if ignored by `swizzleClassNameExclude` (#4407) -- Data race in SentrySwizzleInfo.originalCalled () +- Data race in SentrySwizzleInfo.originalCalled (#4434) ### Improvements