Browse Source

[Issue #206] Replacing stringByAddingPercentEncodingWithAllowedCharacters with CFURLCreateStringByAddingPercentEscapes to prevent out-of-memory exception

Mattt Thompson 11 năm trước cách đây
mục cha
commit
28df82ec9c
1 tập tin đã thay đổi với 2 bổ sung2 xóa
  1. 2 2
      Source/Alamofire.swift

+ 2 - 2
Source/Alamofire.swift

@@ -152,8 +152,8 @@ public enum ParameterEncoding {
     }
 
     func escape(string: String) -> String {
-        let allowedCharacters =  NSCharacterSet(charactersInString:" =\"#%/<>?@\\^`{}[]|&+").invertedSet
-        return string.stringByAddingPercentEncodingWithAllowedCharacters(allowedCharacters) ?? string
+        let legalURLCharactersToBeEscaped: CFStringRef = ":/?&=;+!@#$()',*"
+        return CFURLCreateStringByAddingPercentEscapes(nil, string, nil, legalURLCharactersToBeEscaped, CFStringBuiltInEncodings.UTF8.rawValue)
     }
 }