uploadAttachment: [Security] sanitize incoming filename
This commit is contained in:
@@ -38,7 +38,14 @@
|
|||||||
break;
|
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];
|
NSURL *localURL = [NSURL fileURLWithPath:localPath];
|
||||||
BOOL success = [attachmentData writeToURL:localURL atomically:NO];
|
BOOL success = [attachmentData writeToURL:localURL atomically:NO];
|
||||||
if (!success) {
|
if (!success) {
|
||||||
|
|||||||
Reference in New Issue
Block a user