From 7025cce3f4ca0017c9ce7216e45318d6fa9006ed Mon Sep 17 00:00:00 2001 From: zhongwuzw Date: Sun, 3 Mar 2019 20:26:54 -0800 Subject: [PATCH] Fixed crash if event doesn't have body parameter (#23711) Summary: We need to check `body[@"target"]` wether equal to `nil`, if it is, return to prevent crash. [iOS] [Fixed] - Fixed crash if event doesn't have body parameter Pull Request resolved: https://github.com/facebook/react-native/pull/23711 Differential Revision: D14298543 Pulled By: cpojer fbshipit-source-id: d5e8cd69438f323ae102e61618c0371a01bee347 --- React/Base/RCTEventDispatcher.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/React/Base/RCTEventDispatcher.m b/React/Base/RCTEventDispatcher.m index 4e05e2b43e..9530b5a225 100644 --- a/React/Base/RCTEventDispatcher.m +++ b/React/Base/RCTEventDispatcher.m @@ -85,11 +85,15 @@ RCT_EXPORT_MODULE() RCTAssert([body[@"target"] isKindOfClass:[NSNumber class]], @"Event body dictionary must include a 'target' property containing a React tag"); } + + if (!body[@"target"]) { + return; + } name = RCTNormalizeInputEventName(name); [_bridge enqueueJSCall:@"RCTEventEmitter" method:@"receiveEvent" - args:body ? @[body[@"target"], name, body] : @[body[@"target"], name] + args:@[body[@"target"], name, body] completion:NULL]; }