diff --git a/Libraries/AddressSanitizerCrash/RCTAddressSanitizerCrash.js b/Libraries/AddressSanitizerCrash/RCTAddressSanitizerCrash.js new file mode 100644 index 0000000000..11aa8d9411 --- /dev/null +++ b/Libraries/AddressSanitizerCrash/RCTAddressSanitizerCrash.js @@ -0,0 +1,25 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + * @flow + */ + +'use strict'; +import type {HostComponent} from '../Renderer/shims/ReactNativeTypes'; +import type {ViewProps} from '../Components/View/ViewPropTypes'; + +const {requireNativeComponent} = require('react-native'); + +type NativeProps = $ReadOnly<{| + ...ViewProps, +|}>; + +const RCTAddressSanitizerCrash: HostComponent = requireNativeComponent( + 'RCTAddressSanitizerCrash', +); + +module.exports = RCTAddressSanitizerCrash; diff --git a/React/CoreModules/RCTAddressSanitizerCrashManager.h b/React/CoreModules/RCTAddressSanitizerCrashManager.h new file mode 100644 index 0000000000..7820994063 --- /dev/null +++ b/React/CoreModules/RCTAddressSanitizerCrashManager.h @@ -0,0 +1,12 @@ +/* + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#import +#import + +@interface RCTAddressSanitizerCrashManager : NSObject + +@end diff --git a/React/CoreModules/RCTAddressSanitizerCrashManager.mm b/React/CoreModules/RCTAddressSanitizerCrashManager.mm new file mode 100644 index 0000000000..d4adaa414f --- /dev/null +++ b/React/CoreModules/RCTAddressSanitizerCrashManager.mm @@ -0,0 +1,18 @@ +// +// RCTAddressSanitizerCrashManager.mm +// Pods +// + +#import "RCTAddressSanitizerCrashManager.h" + +@implementation RCTAddressSanitizerCrashManager + +RCT_EXPORT_MODULE(ASANCrash) + +RCT_EXPORT_METHOD(invokeMemoryCrash) { + char *s = (char*)malloc(100); + free(s); + strcpy(s, "Hello world!"); // AddressSanitizer: heap-use-after-free +} + +@end diff --git a/packages/rn-tester/Podfile.lock b/packages/rn-tester/Podfile.lock index 20b327d8db..2e6445e868 100644 --- a/packages/rn-tester/Podfile.lock +++ b/packages/rn-tester/Podfile.lock @@ -506,12 +506,14 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost-for-react-native: d5ad1140010aa8cb622323a781ecbeab4425d19a CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: 0ea4559a49682230337df966e735d6cc7760108e - FBLazyVector: 5a2f9592b6a73a6058558956d167bb1ad684c7c2 - FBReactNativeSpec: 21b068aad009ce37947cf3ca75d38a97910dbb5a - Flipper: d3da1aa199aad94455ae725e9f3aa43f3ec17021 - Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 - Flipper-Folly: 755929a4f851b2fb2c347d533a23f191b008554c + DoubleConversion: ed15e075aa758ac0e4c1f8b830bd4e4d40d669e8 + FBLazyVector: 11bc87f472827a73ff114494b2e80e0b805a32d7 + FBReactNativeSpec: f58c30a99b669cb145e7a8c0c0c721de83951240 + Flipper: 30e8eeeed6abdc98edaf32af0cda2f198be4b733 + Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c + Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c + Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b + Flipper-Folly: 83af37379faa69497529e414bd43fbfc7cae259a Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-RSocket: 127954abe8b162fcaf68d2134d34dc2bd7076154 @@ -519,34 +521,35 @@ SPEC CHECKSUMS: glog: 0dc7efada961c0793012970b60faebbd58b0decb libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b - RCT-Folly: b3998425a8ee9f695f57a204dc494534246f0fe9 - RCTRequired: 476b7e9b6fe8f6795b3c2a32613eda0f2bf70659 - RCTTypeSafety: 8a74abf2ade4e1e464831b6d63f80b89107fc069 - React: fbab5f0bbf2f3fdc47b20d6f8fb1f9dda7814053 - React-callinvoker: 5da8f570452f13cf7e5faf216092f5da82da3d11 - React-Core: 7d84e349d0ca6e14693175ac5aeb72371433d977 - React-CoreModules: 64e9eaf3e56585233b99ddcdab4eeda0f3947b33 - React-cxxreact: 4318977ebf4b4bdf9d1db19deb079121659925dd - React-jsi: d57227c937e7658c0d565370790124c23c793f35 - React-jsiexecutor: c3d1155f35163d8c077b6767dad18a41913e3dcd - React-jsinspector: 6593643f36af11dab5f53396df73cb2284fd5c9a - React-perflogger: fdfe29e7772de8ffb6f2839f10380c985bca4687 - React-RCTActionSheet: 53bce013367652e49dbb128a4236f76973264710 - React-RCTAnimation: f431c95d12262f7690137d8d5071b12eede8af62 - React-RCTBlob: 88a533c439c2f02d45d8fdbba14d3cf54737e778 - React-RCTImage: a6305a92c166c5f8be14c2624918eb84b8c93651 - React-RCTLinking: ab6174291d7568071f8511a4d4d78eedf16b976e - React-RCTNetwork: 74d93063da8eca72f153e82a65308c7b3efc37f3 - React-RCTPushNotification: 69848dd6ac04a6fc876030f9ecb40fa88fdc1cec - React-RCTSettings: 66c9324eb471c4b718784c39e0aaff90164ddcbf - React-RCTTest: 8486f64ea7150ac6bf48794824fa9373527b0356 - React-RCTText: 7f9a1d29e7fe6279e9bc9eec6d447a0d45f392de - React-RCTVibration: 027f7cf1e570a3e851dfceda2dbbd635af623ca0 - React-runtimeexecutor: 80e779465c0d81aa5bd7b571ea2981cf7e86cf34 - React-TurboModuleCxx-RNW: 1804ad49cbaff86a2e4ee712711e521f1ae2cdd3 - React-TurboModuleCxx-WinRTPort: 0bda8ea2b91c4950286d01ac6036d8d52b294624 - ReactCommon: 9dd2d2d804057ebba91603459b31c6f03a25c51c - Yoga: d40948211a16713378654fe5d445c25048030bda + RCT-Folly: 5c589d0de10e841479ad79352fae591dc0e9533a + RCTRequired: 2eb1355625e25d08081cfe239db7d3874d77d208 + RCTTypeSafety: 9f298b5aa98b080b67792676b6243f1ca032520c + React: 3cd3b5138e36d870bfefaf4a9f0e8d4d658cf499 + React-callinvoker: bfbb455c76da9a24732560d956a4458057bb1021 + React-Core: 160b28e71f337fa24c27937cecbeebce7af1693f + React-CoreModules: 38f6c3f85421cbbe43f26fb7eec281269f502fe1 + React-cxxreact: c72a2ce5d5fa068fe72130d2530caeb8cf6e6790 + React-jsi: c6a502974929a68d0c706dec909de949d3a184cf + React-jsiexecutor: 6194311bab350a51c265c42424ce3377b58e776b + React-jsinspector: 98a8edfdf1a77275d1e1ad8832ed2ca6ebe4ea61 + React-logger: 745a29a1f97e1725bab7888b8d501dda06b7f485 + React-perflogger: 3dcb37ac059350488c74211912731f88d4207b9a + React-RCTActionSheet: aca58af0c729d4d70e2e25565fbd6f6322b18764 + React-RCTAnimation: 18e68a8ba438155cefe4b3fb91450492036aca48 + React-RCTBlob: ee8067d9c6af4557a9bde315e91bac756498e91c + React-RCTImage: a4167a4967505eaa04a82f5b9573065c30ecf69e + React-RCTLinking: d9034395129c1e4d9c7e60c9deb5b987daf79554 + React-RCTNetwork: 80bfb1e3f3498c067293e709a78ad07355a5b05c + React-RCTPushNotification: 899e34163eb7e632fa5164f2c1a2b8e7fb02e7a3 + React-RCTSettings: 8049c8ffdd76393479d731ab350d6fd0550a7549 + React-RCTTest: c2d9a4516b734322e8df43d192cc3db97d58b092 + React-RCTText: 9f435bd5c5f631bf791bf60e501780192ec376af + React-RCTVibration: ed1e5e188b6ed93739d39bc23a20aa87d7eb47f0 + React-runtimeexecutor: c433f9ba42e6bcc0bd5e42d2710538f3591edc02 + React-TurboModuleCxx-RNW: f2e32cbfced49190a61d66c993a8975de79a158a + React-TurboModuleCxx-WinRTPort: 523c514e00e9136f0d048fdce302e976e24357f1 + ReactCommon: 57264a0de7cd051c3495c78775056e8582988388 + Yoga: a4c667843470ecfe7ed3a1bc546889f4730534c7 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a PODFILE CHECKSUM: fc89892d7bd92e5bb34cedc778a0e7fff4c0da86 diff --git a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj index 21c016f794..4bf8b9e267 100644 --- a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj +++ b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj @@ -73,7 +73,13 @@ 9F15345F233AB2C4006DFE44 /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9F15345E233AB2C4006DFE44 /* AppDelegate.mm */; }; 9F153461233AB2C7006DFE44 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9F153460233AB2C7006DFE44 /* Assets.xcassets */; }; 9F153467233AB2C7006DFE44 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F153466233AB2C7006DFE44 /* main.m */; }; - A13DC98BDCE5EE508FFA7BE7 /* libPods-RNTester-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A355204268D03CF69ABC11D /* libPods-RNTester-macOS.a */; }; + 9F29408627A99ACE00AB150A /* Debug-iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9F29408327A999D200AB150A /* Debug-iOS.xcconfig */; }; + 9F29408727A99ACE00AB150A /* Debug-iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9F29408327A999D200AB150A /* Debug-iOS.xcconfig */; }; + 9F29408827A99ACF00AB150A /* Debug-iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9F29408327A999D200AB150A /* Debug-iOS.xcconfig */; }; + 9F29408927A99AD000AB150A /* Debug-iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9F29408327A999D200AB150A /* Debug-iOS.xcconfig */; }; + 9F29408A27A99AD300AB150A /* Debug-iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9F29408327A999D200AB150A /* Debug-iOS.xcconfig */; }; + 9F29408B27A99AD400AB150A /* Debug-iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9F29408327A999D200AB150A /* Debug-iOS.xcconfig */; }; + AFC757F10008B167B9DCFD43 /* libPods-iosDeviceBuild.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DDE8ED7D8FB17AFA3F66FF96 /* libPods-iosDeviceBuild.a */; }; B2F2040A24E76D7600863BE1 /* ScreenshotMacOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = B2F2040924E76D7600863BE1 /* ScreenshotMacOS.mm */; }; CDFF3988A89A5269C488653F /* libPods-iosDeviceBuild.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 287A4762E82517B7FACCE7D3 /* libPods-iosDeviceBuild.a */; }; E59A0FBD0170A092274A6207 /* libPods-RNTesterUnitTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72247071A1BF06D54F0FECC7 /* libPods-RNTesterUnitTests.a */; }; @@ -243,7 +249,24 @@ 9F153478233AB2C7006DFE44 /* RNTester-macOSIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RNTester-macOSIntegrationTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 9F15347C233AB2C7006DFE44 /* RNTesterIntegrationTests_macOS.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNTesterIntegrationTests_macOS.m; sourceTree = ""; }; 9F15347E233AB2C7006DFE44 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A112BDF7485AEF790F6D3E26 /* Pods-iosDeviceBuild.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosDeviceBuild.debug.xcconfig"; path = "Pods/Target Support Files/Pods-iosDeviceBuild/Pods-iosDeviceBuild.debug.xcconfig"; sourceTree = ""; }; + 9F29408327A999D200AB150A /* Debug-iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Debug-iOS.xcconfig"; sourceTree = ""; }; + 9F44D86927B313CA005F40CC /* Debug-macOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Debug-macOS.xcconfig"; sourceTree = ""; }; + 9F44D86E27BDB80C005F40CC /* Debug_UnitTests-iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Debug_UnitTests-iOS.xcconfig"; sourceTree = ""; }; + 9F44D86F27BDB826005F40CC /* Debug_IntegrationTests-iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Debug_IntegrationTests-iOS.xcconfig"; sourceTree = ""; }; + 9F44D87027BDB840005F40CC /* Debug-UnitTests-macOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Debug-UnitTests-macOS.xcconfig"; sourceTree = ""; }; + 9F44D87127BDB84C005F40CC /* Debug-IntegrationTests-macOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Debug-IntegrationTests-macOS.xcconfig"; sourceTree = ""; }; + 9F44D87A27BDFFCD005F40CC /* Release-macOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Release-macOS.xcconfig"; sourceTree = ""; }; + 9F44D87B27BDFFCD005F40CC /* Release-iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Release-iOS.xcconfig"; sourceTree = ""; }; + 9F44D87C27BDFFCD005F40CC /* Release-IntegrationTests-macOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Release-IntegrationTests-macOS.xcconfig"; sourceTree = ""; }; + 9F44D87D27BDFFCD005F40CC /* Release-UnitTests-macOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Release-UnitTests-macOS.xcconfig"; sourceTree = ""; }; + 9F44D87E27BDFFCD005F40CC /* Release_UnitTests-iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Release_UnitTests-iOS.xcconfig"; sourceTree = ""; }; + 9F44D87F27BDFFCD005F40CC /* Release_IntegrationTests-iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Release_IntegrationTests-iOS.xcconfig"; sourceTree = ""; }; + A3D174930AD75B12F47289E6 /* libPods-RNTester-macOSIntegrationTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester-macOSIntegrationTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + A84904C6079328ECC03280D1 /* libPods-RNTesterIntegrationTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterIntegrationTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + AB0102C840930F7AC64C3D36 /* libPods-RNTesterUnitTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterUnitTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + ABC5325C94F71908317C26A8 /* Pods-macOSBuild.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-macOSBuild.debug.xcconfig"; path = "Target Support Files/Pods-macOSBuild/Pods-macOSBuild.debug.xcconfig"; sourceTree = ""; }; + AC6DB4C70AE6C558CFE78E9D /* Pods-iosDeviceBuild.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosDeviceBuild.release.xcconfig"; path = "Target Support Files/Pods-iosDeviceBuild/Pods-iosDeviceBuild.release.xcconfig"; sourceTree = ""; }; + AFC451B51B7D6F0C1CAD0C18 /* Pods-RNTester-macOSIntegrationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester-macOSIntegrationTests.debug.xcconfig"; path = "Target Support Files/Pods-RNTester-macOSIntegrationTests/Pods-RNTester-macOSIntegrationTests.debug.xcconfig"; sourceTree = ""; }; B2F2040824E76D7600863BE1 /* ScreenshotMacOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenshotMacOS.h; path = NativeModuleExample/ScreenshotMacOS.h; sourceTree = SOURCE_ROOT; }; B2F2040924E76D7600863BE1 /* ScreenshotMacOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ScreenshotMacOS.mm; path = NativeModuleExample/ScreenshotMacOS.mm; sourceTree = SOURCE_ROOT; }; B5C8E567A4E6281113811CB1 /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -525,6 +548,7 @@ 9F15345C233AB2C4006DFE44 /* RNTester-macOS */, 9F153470233AB2C7006DFE44 /* RNTester-macOSUnitTests */, 9F15347B233AB2C7006DFE44 /* RNTester-macOSIntegrationTests */, + 9F29408C27A99BC600AB150A /* xcconfig */, 83CBBA001A601CBA00E9B192 /* Products */, 2DE7E7D81FB2A4F3009E225D /* Frameworks */, 571A4A20844C3BA40A3D302B /* Pods */, @@ -587,6 +611,66 @@ path = "RNTester-macOSIntegrationTests"; sourceTree = ""; }; + 9F29408C27A99BC600AB150A /* xcconfig */ = { + isa = PBXGroup; + children = ( + 9F44D87227BDFFA0005F40CC /* Debug */, + 9F44D87327BDFFA6005F40CC /* Release */, + ); + path = xcconfig; + sourceTree = ""; + }; + 9F44D87227BDFFA0005F40CC /* Debug */ = { + isa = PBXGroup; + children = ( + 9F29408327A999D200AB150A /* Debug-iOS.xcconfig */, + 9F44D86E27BDB80C005F40CC /* Debug_UnitTests-iOS.xcconfig */, + 9F44D86F27BDB826005F40CC /* Debug_IntegrationTests-iOS.xcconfig */, + 9F44D86927B313CA005F40CC /* Debug-macOS.xcconfig */, + 9F44D87027BDB840005F40CC /* Debug-UnitTests-macOS.xcconfig */, + 9F44D87127BDB84C005F40CC /* Debug-IntegrationTests-macOS.xcconfig */, + ); + path = Debug; + sourceTree = ""; + }; + 9F44D87327BDFFA6005F40CC /* Release */ = { + isa = PBXGroup; + children = ( + 9F44D87B27BDFFCD005F40CC /* Release-iOS.xcconfig */, + 9F44D87E27BDFFCD005F40CC /* Release_UnitTests-iOS.xcconfig */, + 9F44D87F27BDFFCD005F40CC /* Release_IntegrationTests-iOS.xcconfig */, + 9F44D87A27BDFFCD005F40CC /* Release-macOS.xcconfig */, + 9F44D87D27BDFFCD005F40CC /* Release-UnitTests-macOS.xcconfig */, + 9F44D87C27BDFFCD005F40CC /* Release-IntegrationTests-macOS.xcconfig */, + ); + path = Release; + sourceTree = ""; + }; + E23BD6487B06BD71F1A86914 /* Pods */ = { + isa = PBXGroup; + children = ( + 6D3E7ECE8F9BEC26E5786555 /* Pods-RNTester.debug.xcconfig */, + 3DC317D3EE16C63CD9243667 /* Pods-RNTester.release.xcconfig */, + 3CD3706443F2188E09CBF2D2 /* Pods-RNTesterIntegrationTests.debug.xcconfig */, + E88C98CC10E157202A961408 /* Pods-RNTesterIntegrationTests.release.xcconfig */, + C38CB0C2095A8FFDE13321E5 /* Pods-RNTesterUnitTests.debug.xcconfig */, + 8735BC063632C9712E25C7D9 /* Pods-RNTesterUnitTests.release.xcconfig */, + E9CE1968E72EB97B674E80A4 /* Pods-RNTester-macOS.debug.xcconfig */, + 604873ABF80DC3EE97E87CCF /* Pods-RNTester-macOS.release.xcconfig */, + AFC451B51B7D6F0C1CAD0C18 /* Pods-RNTester-macOSIntegrationTests.debug.xcconfig */, + 27E7277560D64734B4F0E7D9 /* Pods-RNTester-macOSIntegrationTests.release.xcconfig */, + 87D5D06CD6060D32601A10DD /* Pods-RNTester-macOSUnitTests.debug.xcconfig */, + 821937C864FDA0F3C485B4A6 /* Pods-RNTester-macOSUnitTests.release.xcconfig */, + 1ECF206BF13260815AAC95EA /* Pods-iosDeviceBuild.debug.xcconfig */, + AC6DB4C70AE6C558CFE78E9D /* Pods-iosDeviceBuild.release.xcconfig */, + FEC7DFC73F5A7055398F11B6 /* Pods-iosSimulatorBuild.debug.xcconfig */, + 50AD031542320BFA83630EDE /* Pods-iosSimulatorBuild.release.xcconfig */, + ABC5325C94F71908317C26A8 /* Pods-macOSBuild.debug.xcconfig */, + F7DC249273A51CC8A56ED858 /* Pods-macOSBuild.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; E7DB20A022B2BA84005AC45F /* RNTesterUnitTests */ = { isa = PBXGroup; children = ( @@ -922,6 +1006,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9F29408B27A99AD400AB150A /* Debug-iOS.xcconfig in Resources */, 2DDEF0101F84BF7B00DBDF73 /* Images.xcassets in Resources */, 8145AE06241172D900A3F8DA /* LaunchScreen.storyboard in Resources */, 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */, @@ -932,6 +1017,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9F29408A27A99AD300AB150A /* Debug-iOS.xcconfig in Resources */, 5101985B23ADA00B00118BF1 /* legacy_image@2x.png in Resources */, 9F153461233AB2C7006DFE44 /* Assets.xcassets in Resources */, 5101985723AD9EE600118BF1 /* Main.storyboard in Resources */, @@ -942,6 +1028,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9F29408827A99ACF00AB150A /* Debug-iOS.xcconfig in Resources */, 3811324724550A8F009E988D /* RNTesterUnitTestsBundle.js in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -950,6 +1037,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9F29408927A99AD000AB150A /* Debug-iOS.xcconfig in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -957,6 +1045,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9F29408627A99ACE00AB150A /* Debug-iOS.xcconfig in Resources */, E7DB20DA22B2BAA6005AC45F /* RNTesterUnitTestsBundle.js in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -965,6 +1054,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9F29408727A99ACE00AB150A /* Debug-iOS.xcconfig in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1557,7 +1647,7 @@ /* Begin XCBuildConfiguration section */ 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 98233960D1D6A1977D1C7EAF /* Pods-RNTester.debug.xcconfig */; + baseConfigurationReference = 9F29408327A999D200AB150A /* Debug-iOS.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = RNTester/RNTester.entitlements; @@ -1603,7 +1693,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */; + baseConfigurationReference = 9F44D87B27BDFFCD005F40CC /* Release-iOS.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1822,7 +1912,7 @@ ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 "; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64"; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -1906,7 +1996,7 @@ ENABLE_BITCODE = NO; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 "; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64"; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; @@ -1948,7 +2038,7 @@ }; 9F15347F233AB2C7006DFE44 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2BE07A0C310D8A03C00D6F07 /* Pods-RNTester-macOS.debug.xcconfig */; + baseConfigurationReference = 9F44D86927B313CA005F40CC /* Debug-macOS.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -1988,7 +2078,7 @@ }; 9F153480233AB2C7006DFE44 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9AED879F1A9397646A861A9F /* Pods-RNTester-macOS.release.xcconfig */; + baseConfigurationReference = 9F44D87A27BDFFCD005F40CC /* Release-macOS.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -2028,7 +2118,7 @@ }; 9F153481233AB2C7006DFE44 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 406E6935B300A29BA57EE1B0 /* Pods-RNTester-macOSUnitTests.debug.xcconfig */; + baseConfigurationReference = 9F44D87027BDB840005F40CC /* Debug-UnitTests-macOS.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -2064,7 +2154,7 @@ }; 9F153482233AB2C7006DFE44 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9EAC9B16F3BA65B8E1511E5E /* Pods-RNTester-macOSUnitTests.release.xcconfig */; + baseConfigurationReference = 9F44D87D27BDFFCD005F40CC /* Release-UnitTests-macOS.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -2100,7 +2190,7 @@ }; 9F153483233AB2C7006DFE44 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3CCA44B8467CB06ACED8E0E9 /* Pods-RNTester-macOSIntegrationTests.debug.xcconfig */; + baseConfigurationReference = 9F44D87127BDB84C005F40CC /* Debug-IntegrationTests-macOS.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -2138,7 +2228,7 @@ }; 9F153484233AB2C7006DFE44 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0BFED72B21FBD987A97E30B9 /* Pods-RNTester-macOSIntegrationTests.release.xcconfig */; + baseConfigurationReference = 9F44D87C27BDFFCD005F40CC /* Release-IntegrationTests-macOS.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -2171,7 +2261,7 @@ }; E7DB20A722B2BA84005AC45F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 34028D6B10F47E490042EB27 /* Pods-RNTesterUnitTests.debug.xcconfig */; + baseConfigurationReference = 9F44D86E27BDB80C005F40CC /* Debug_UnitTests-iOS.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -2207,7 +2297,7 @@ }; E7DB20A822B2BA84005AC45F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E9618482EC8608D4872A6E28 /* Pods-RNTesterUnitTests.release.xcconfig */; + baseConfigurationReference = 9F44D87E27BDFFCD005F40CC /* Release_UnitTests-iOS.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -2243,7 +2333,7 @@ }; E7DB215B22B2F332005AC45F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 972A459EE6CF8CC63531A088 /* Pods-RNTesterIntegrationTests.debug.xcconfig */; + baseConfigurationReference = 9F44D86F27BDB826005F40CC /* Debug_IntegrationTests-iOS.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -2281,7 +2371,7 @@ }; E7DB215C22B2F332005AC45F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7D51F73F0DA20287418D98BD /* Pods-RNTesterIntegrationTests.release.xcconfig */; + baseConfigurationReference = 9F44D87F27BDFFCD005F40CC /* Release_IntegrationTests-iOS.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; diff --git a/packages/rn-tester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester-macOS.xcscheme b/packages/rn-tester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester-macOS.xcscheme index 81aed75102..613a5d276f 100644 --- a/packages/rn-tester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester-macOS.xcscheme +++ b/packages/rn-tester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester-macOS.xcscheme @@ -40,7 +40,9 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "NO"> + shouldUseLaunchSchemeArgsEnv = "NO" + enableAddressSanitizer = "YES" + enableASanStackUseAfterReturn = "YES"> + shouldUseLaunchSchemeArgsEnv = "NO" + enableAddressSanitizer = "YES" + enableASanStackUseAfterReturn = "YES"> + shouldUseLaunchSchemeArgsEnv = "NO" + enableAddressSanitizer = "YES" + enableASanStackUseAfterReturn = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES" + enableAddressSanitizer = "YES" + enableASanStackUseAfterReturn = "YES"> { + ASANCrash.invokeMemoryCrash(); + }} + /> + ); + }, + }, +]; diff --git a/packages/rn-tester/js/utils/RNTesterList.ios.js b/packages/rn-tester/js/utils/RNTesterList.ios.js index 15dc5832e3..31b2263746 100644 --- a/packages/rn-tester/js/utils/RNTesterList.ios.js +++ b/packages/rn-tester/js/utils/RNTesterList.ios.js @@ -256,6 +256,11 @@ const APIExamples: Array = [ module: require('../examples/Crash/CrashExample'), supportsTVOS: false, }, + { + key: 'ASANCrashExample', + module: require('../examples/ASAN/ASANCrashExample'), + supportsTVOS: false, + }, { key: 'DevSettings', module: require('../examples/DevSettings/DevSettingsExample'), diff --git a/packages/rn-tester/xcconfig/Debug/Debug-IntegrationTests-macOS.xcconfig b/packages/rn-tester/xcconfig/Debug/Debug-IntegrationTests-macOS.xcconfig new file mode 100644 index 0000000000..ebec470a4a --- /dev/null +++ b/packages/rn-tester/xcconfig/Debug/Debug-IntegrationTests-macOS.xcconfig @@ -0,0 +1,8 @@ +// +// Debug-IntegrationTests-macOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTester-macOSIntegrationTests/Pods-RNTester-macOSIntegrationTests.debug.xcconfig" + +ENABLE_ADDRESS_SANITIZER = YES diff --git a/packages/rn-tester/xcconfig/Debug/Debug-UnitTests-macOS.xcconfig b/packages/rn-tester/xcconfig/Debug/Debug-UnitTests-macOS.xcconfig new file mode 100644 index 0000000000..fc17a862f4 --- /dev/null +++ b/packages/rn-tester/xcconfig/Debug/Debug-UnitTests-macOS.xcconfig @@ -0,0 +1,8 @@ +// +// Debug-UnitTests-macOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTester-macOSUnitTests/Pods-RNTester-macOSUnitTests.debug.xcconfig" + +ENABLE_ADDRESS_SANITIZER = YES diff --git a/packages/rn-tester/xcconfig/Debug/Debug-iOS.xcconfig b/packages/rn-tester/xcconfig/Debug/Debug-iOS.xcconfig new file mode 100644 index 0000000000..bf0ce1cf58 --- /dev/null +++ b/packages/rn-tester/xcconfig/Debug/Debug-iOS.xcconfig @@ -0,0 +1,8 @@ +// +// Debug.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTester/Pods-RNTester.debug.xcconfig" + +ENABLE_ADDRESS_SANITIZER[sdk=iphonesimulator*] = YES diff --git a/packages/rn-tester/xcconfig/Debug/Debug-macOS.xcconfig b/packages/rn-tester/xcconfig/Debug/Debug-macOS.xcconfig new file mode 100644 index 0000000000..15bf8fbb87 --- /dev/null +++ b/packages/rn-tester/xcconfig/Debug/Debug-macOS.xcconfig @@ -0,0 +1,8 @@ +// +// Debug-macOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTester-macOS/Pods-RNTester-macOS.debug.xcconfig" + +ENABLE_ADDRESS_SANITIZER = YES diff --git a/packages/rn-tester/xcconfig/Debug/Debug_IntegrationTests-iOS.xcconfig b/packages/rn-tester/xcconfig/Debug/Debug_IntegrationTests-iOS.xcconfig new file mode 100644 index 0000000000..42dce5aaec --- /dev/null +++ b/packages/rn-tester/xcconfig/Debug/Debug_IntegrationTests-iOS.xcconfig @@ -0,0 +1,8 @@ +// +// Debug_IntegrationTests-iOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests.debug.xcconfig" + +ENABLE_ADDRESS_SANITIZER[sdk=iphonesimulator*] = YES diff --git a/packages/rn-tester/xcconfig/Debug/Debug_UnitTests-iOS.xcconfig b/packages/rn-tester/xcconfig/Debug/Debug_UnitTests-iOS.xcconfig new file mode 100644 index 0000000000..77a86013bb --- /dev/null +++ b/packages/rn-tester/xcconfig/Debug/Debug_UnitTests-iOS.xcconfig @@ -0,0 +1,8 @@ +// +// Debug_UnitTests-iOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests.debug.xcconfig" + +ENABLE_ADDRESS_SANITIZER[sdk=iphonesimulator*] = YES diff --git a/packages/rn-tester/xcconfig/Release/Release-IntegrationTests-macOS.xcconfig b/packages/rn-tester/xcconfig/Release/Release-IntegrationTests-macOS.xcconfig new file mode 100644 index 0000000000..6a9ae2a3db --- /dev/null +++ b/packages/rn-tester/xcconfig/Release/Release-IntegrationTests-macOS.xcconfig @@ -0,0 +1,21 @@ +// +// Debug-IntegrationTests-macOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTester-macOSIntegrationTests/Pods-RNTester-macOSIntegrationTests.release.xcconfig" + +ENABLE_ADDRESS_SANITIZER = NO + +RUN_CLANG_STATIC_ANALYZER = YES +CLANG_STATIC_ANALYZER_MODE = deep +// Required security settings for production code (do not override at target/project level, with the possible +// exception of legacy test code) +CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES +CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES diff --git a/packages/rn-tester/xcconfig/Release/Release-UnitTests-macOS.xcconfig b/packages/rn-tester/xcconfig/Release/Release-UnitTests-macOS.xcconfig new file mode 100644 index 0000000000..4bef8afd2c --- /dev/null +++ b/packages/rn-tester/xcconfig/Release/Release-UnitTests-macOS.xcconfig @@ -0,0 +1,21 @@ +// +// Debug-UnitTests-macOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTester-macOSUnitTests/Pods-RNTester-macOSUnitTests.release.xcconfig" + +ENABLE_ADDRESS_SANITIZER = NO + +RUN_CLANG_STATIC_ANALYZER = YES +CLANG_STATIC_ANALYZER_MODE = deep +// Required security settings for production code (do not override at target/project level, with the possible +// exception of legacy test code) +CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES +CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES diff --git a/packages/rn-tester/xcconfig/Release/Release-iOS.xcconfig b/packages/rn-tester/xcconfig/Release/Release-iOS.xcconfig new file mode 100644 index 0000000000..fe76436c87 --- /dev/null +++ b/packages/rn-tester/xcconfig/Release/Release-iOS.xcconfig @@ -0,0 +1,21 @@ +// +// Debug.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTester/Pods-RNTester.release.xcconfig" + +ENABLE_ADDRESS_SANITIZER = NO + +RUN_CLANG_STATIC_ANALYZER = YES +CLANG_STATIC_ANALYZER_MODE = deep +// Required security settings for production code (do not override at target/project level, with the possible +// exception of legacy test code) +CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES +CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES diff --git a/packages/rn-tester/xcconfig/Release/Release-macOS.xcconfig b/packages/rn-tester/xcconfig/Release/Release-macOS.xcconfig new file mode 100644 index 0000000000..9cf423adba --- /dev/null +++ b/packages/rn-tester/xcconfig/Release/Release-macOS.xcconfig @@ -0,0 +1,21 @@ +// +// Debug-macOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTester-macOS/Pods-RNTester-macOS.release.xcconfig" + +ENABLE_ADDRESS_SANITIZER = NO + +RUN_CLANG_STATIC_ANALYZER = YES +CLANG_STATIC_ANALYZER_MODE[sdk=iphonesimulator*] = deep +// Required security settings for production code (do not override at target/project level, with the possible +// exception of legacy test code) +CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER[sdk=iphonesimulator*] = YES +CLANG_ANALYZER_SECURITY_KEYCHAIN_API[sdk=iphonesimulator*] = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN[sdk=iphonesimulator*] = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS[sdk=iphonesimulator*] = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP[sdk=iphonesimulator*] = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND[sdk=iphonesimulator*] = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY[sdk=iphonesimulator*] = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK[sdk=iphonesimulator*] = YES diff --git a/packages/rn-tester/xcconfig/Release/Release_IntegrationTests-iOS.xcconfig b/packages/rn-tester/xcconfig/Release/Release_IntegrationTests-iOS.xcconfig new file mode 100644 index 0000000000..14e1e086b2 --- /dev/null +++ b/packages/rn-tester/xcconfig/Release/Release_IntegrationTests-iOS.xcconfig @@ -0,0 +1,21 @@ +// +// Debug_IntegrationTests-iOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests.release.xcconfig" + +ENABLE_ADDRESS_SANITIZER = NO + +RUN_CLANG_STATIC_ANALYZER = YES +CLANG_STATIC_ANALYZER_MODE = deep +// Required security settings for production code (do not override at target/project level, with the possible +// exception of legacy test code) +CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES +CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES diff --git a/packages/rn-tester/xcconfig/Release/Release_UnitTests-iOS.xcconfig b/packages/rn-tester/xcconfig/Release/Release_UnitTests-iOS.xcconfig new file mode 100644 index 0000000000..dbf79c24ad --- /dev/null +++ b/packages/rn-tester/xcconfig/Release/Release_UnitTests-iOS.xcconfig @@ -0,0 +1,21 @@ +// +// Debug_UnitTests-iOS.xcconfig +// RNTesterPods +// + +#include "../../Pods/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests.release.xcconfig" + +ENABLE_ADDRESS_SANITIZER = NO + +RUN_CLANG_STATIC_ANALYZER = YES +CLANG_STATIC_ANALYZER_MODE = deep +// Required security settings for production code (do not override at target/project level, with the possible +// exception of legacy test code) +CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES +CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES +CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES