uploadAttachment: [Security] sanitize incoming filename
This commit is contained in:
@@ -38,7 +38,14 @@
|
||||
break;
|
||||
}
|
||||
|
||||
NSString *localPath = [NSTemporaryDirectory() stringByAppendingPathComponent:filename];
|
||||
// Sanitize filename
|
||||
NSCharacterSet *dotCharacter = [NSCharacterSet characterSetWithCharactersInString:@"."];
|
||||
NSCharacterSet *illegalFileNameCharacters = [NSCharacterSet characterSetWithCharactersInString:@"/\\?%*|\"<>"];
|
||||
NSString *sanitizedFilename = [[[filename componentsSeparatedByCharactersInSet:illegalFileNameCharacters]
|
||||
componentsJoinedByString:@"-"]
|
||||
stringByTrimmingCharactersInSet:dotCharacter];
|
||||
|
||||
NSString *localPath = [NSTemporaryDirectory() stringByAppendingPathComponent:sanitizedFilename];
|
||||
NSURL *localURL = [NSURL fileURLWithPath:localPath];
|
||||
BOOL success = [attachmentData writeToURL:localURL atomically:NO];
|
||||
if (!success) {
|
||||
|
||||
Reference in New Issue
Block a user