You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by xi...@apache.org on 2019/01/04 06:08:25 UTC

[incubator-weex] branch master updated: [iOS] Protect websocket url argument. (#2004)

This is an automated email from the ASF dual-hosted git repository.

xifang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git


The following commit(s) were added to refs/heads/master by this push:
     new 0f7a042  [iOS] Protect websocket url argument. (#2004)
0f7a042 is described below

commit 0f7a04265255ccd7e3773d75ce7f85e61e661dd1
Author: wqyfavor <wq...@gmail.com>
AuthorDate: Fri Jan 4 14:08:21 2019 +0800

    [iOS] Protect websocket url argument. (#2004)
---
 WeexSDK.podspec                                        |  1 -
 ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m     | 11 +++++++++++
 ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m |  2 +-
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/WeexSDK.podspec b/WeexSDK.podspec
index 2a2b5aa..694426c 100644
--- a/WeexSDK.podspec
+++ b/WeexSDK.podspec
@@ -87,7 +87,6 @@ Pod::Spec.new do |s|
                           'ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h',
                           'ios/sdk/WeexSDK/Sources/Manager/WXBridgeManager.h',
                           'ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.h',
-                          'ios/sdk/WeexSDK/Sources/Manager/WXDisplayLinkManager.h',
                           'ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h',
                           'ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h',
                           'ios/sdk/WeexSDK/Sources/Utility/WXConvert.h',
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m b/ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m
index c58503f..90c3102 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m
@@ -49,6 +49,17 @@ WX_EXPORT_METHOD(@selector(onclose:))
 
 - (void)WebSocket:(NSString *)url protocol:(NSString *)protocol
 {
+    // check url
+    NSURL* theURL = [NSURL URLWithString:url];
+    if (theURL == nil) {
+        return;
+    }
+    NSString *scheme = theURL.scheme.lowercaseString;
+    if (!([scheme isEqualToString:@"ws"] || [scheme isEqualToString:@"http"] ||
+          [scheme isEqualToString:@"wss"] || [scheme isEqualToString:@"https"])) {
+        return;
+    }
+    
     if(loader)
     {
         [loader clear];
diff --git a/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m b/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m
index 7a8822d..8da5386 100644
--- a/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m
@@ -276,7 +276,7 @@ NSString* const VALUE_ERROR_CODE_DEFAULT = @"0";
     [self updateDiffStats:KEY_PAGE_STATS_IMG_UN_RECYCLE_NUM withDiffValue:0];
 }
 
-- (void) endRecord;
+- (void) endRecord
 {
     if (_isEnd) {
         return;