浏览代码

local network: fix exception when browsing FTP shares

Felix Paul Kühne 9 年之前
父节点
当前提交
ba21db883a
共有 1 个文件被更改,包括 10 次插入4 次删除
  1. 10 4
      Sources/LocalNetworkConnectivity/ServerBrowsing/VLCNetworkServerBrowserFTP.m

+ 10 - 4
Sources/LocalNetworkConnectivity/ServerBrowsing/VLCNetworkServerBrowserFTP.m

@@ -114,10 +114,16 @@
     if (self) {
         NSString *rawFileName = [dict objectForKey:(id)kCFFTPResourceName];
         NSData *flippedData = [rawFileName dataUsingEncoding:[[[NSUserDefaults standardUserDefaults] objectForKey:kVLCSettingFTPTextEncoding] intValue] allowLossyConversion:YES];
-        _name = [[NSString alloc] initWithData:flippedData encoding:NSUTF8StringEncoding];
-        _container = [dict[(id)kCFFTPResourceType] intValue] == 4;
-        _fileSizeBytes = dict[(id)kCFFTPResourceSize];
-        _URL = [baseURL URLByAppendingPathComponent:_name];
+        if (flippedData != nil) {
+            _name = [[NSString alloc] initWithData:flippedData encoding:NSUTF8StringEncoding];
+            if (_name == nil) {
+                /* this can happen if our string conversation failed */
+                _name = rawFileName;
+            }
+            _container = [dict[(id)kCFFTPResourceType] intValue] == 4;
+            _fileSizeBytes = dict[(id)kCFFTPResourceSize];
+            _URL = [baseURL URLByAppendingPathComponent:_name];
+        }
     }
     return self;
 }