Ver código fonte

Fix runtime exception

(cherry picked from commit ebef5f439e09fde5fcd27c34b0eda4cc29e3173e)
Felix Paul Kühne 9 anos atrás
pai
commit
2ce09e724b
1 arquivos alterados com 17 adições e 6 exclusões
  1. 17 6
      Sources/VLCMedia.m

+ 17 - 6
Sources/VLCMedia.m

@@ -822,14 +822,25 @@ NSString *const VLCMediaTracksInformationTextEncoding = @"encoding"; // NSString
     if (!p_url)
         return;
 
-	NSString *urlString = [NSString stringWithUTF8String:p_url];
-	if (!urlString) {
-		return;
-	}
+    NSString *urlString = [NSString stringWithUTF8String:p_url];
+    if (!urlString) {
+        free(p_url);
+        return;
+    }
+
+    urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+    if (!urlString) {
+        free(p_url);
+        return;
+    }
 
-    _url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
+    _url = [NSURL URLWithString:urlString];
     if (!_url) /* Attempt to interpret as a file path then */ {
-        _url = [NSURL fileURLWithPath:_url];
+         _url = [NSURL fileURLWithPath:_url];
+         if(!_url) {
+             free(p_url);
+             return;
+         }
     }
     free(p_url);