Merge pull request #3740 from zkforever/fixCrash

Fix the crash when some special urls cause the cache path return nil and crash
This commit is contained in:
DreamPiggy 2024-08-22 16:48:29 +08:00 committed by GitHub
commit 99acb03c96
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 0 deletions

View File

@ -64,6 +64,11 @@ static NSString * const SDDiskCacheExtendedAttributeName = @"com.hackemist.SDDis
- (NSData *)dataForKey:(NSString *)key { - (NSData *)dataForKey:(NSString *)key {
NSParameterAssert(key); NSParameterAssert(key);
NSString *filePath = [self cachePathForKey:key]; NSString *filePath = [self cachePathForKey:key];
// if filePath is nil or (null)framework will crash with this
// Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[_NSPlaceholderData initWithContentsOfFile:options:maxLength:error:]: nil file argument'
if (filePath == nil || [@"(null)" isEqualToString: filePath]) {
return nil;
}
NSData *data = [NSData dataWithContentsOfFile:filePath options:self.config.diskCacheReadingOptions error:nil]; NSData *data = [NSData dataWithContentsOfFile:filePath options:self.config.diskCacheReadingOptions error:nil];
if (data) { if (data) {
return data; return data;