From 41fc91c5ccb8df34a75576292edbd5e15c339aeb Mon Sep 17 00:00:00 2001 From: Andy Prock Date: Wed, 30 Dec 2015 22:51:26 -0800 Subject: [PATCH] Fixes #17 It was crashing when trying to build a callback argument NSArray with a nil object. NSError's are not guaranteed to have a NSLocalizedFailureReason, so this case should be handled. --- ios/UdpSocketClient.m | 4 ++-- ios/UdpSockets.m | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ios/UdpSocketClient.m b/ios/UdpSocketClient.m index 5f1caba..e6a34f7 100644 --- a/ios/UdpSocketClient.m +++ b/ios/UdpSocketClient.m @@ -126,8 +126,8 @@ NSString *const RCTUDPErrorDomain = @"RCTUDPErrorDomain"; NSNumber* tagNum = [NSNumber numberWithLong:msgTag]; RCTResponseSenderBlock callback = [self getPendingSend:tagNum]; if (callback) { - NSString* msg = [[error userInfo] valueForKey:@"NSLocalizedFailureReason"]; - callback(@[msg]); + NSString *msg = error.localizedFailureReason ?: error.localizedDescription; + callback(@[msg ?: @"unkown error"]); [self dropPendingSend:tagNum]; } } diff --git a/ios/UdpSockets.m b/ios/UdpSockets.m index 1eee5e7..04e8908 100644 --- a/ios/UdpSockets.m +++ b/ios/UdpSockets.m @@ -61,8 +61,8 @@ RCT_EXPORT_METHOD(bind:(nonnull NSNumber*)cId NSError *error = nil; if (![client bind:port address:address error:&error]) { - NSString* msg = [[error userInfo] valueForKey:@"NSLocalizedFailureReason"]; - callback(@[msg]); + NSString *msg = error.localizedFailureReason ?: error.localizedDescription; + callback(@[msg ?: @"unkown error when binding"]); return; } @@ -97,8 +97,8 @@ RCT_EXPORT_METHOD(setBroadcast:(nonnull NSNumber*)cId NSError *error = nil; if (![client setBroadcast:flag error:&error]) { - NSString* msg = [[error userInfo] valueForKey:@"NSLocalizedFailureReason"]; - callback(@[msg]); + NSString *msg = error.localizedFailureReason ?: error.localizedDescription; + callback(@[msg ?: @"unkown error when setBroadcast"]); return; } callback(@[[NSNull null]]);