From 9c8bd37fe5391f48b2b9c8360737d33643765895 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Wed, 12 Jun 2024 21:34:12 +0200 Subject: [PATCH] [uri] Implement additional filename checks. --- uriloader/exthandler/nsExternalHelperAppService.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp index 698090718f..c01e82b0b2 100644 --- a/uriloader/exthandler/nsExternalHelperAppService.cpp +++ b/uriloader/exthandler/nsExternalHelperAppService.cpp @@ -1202,10 +1202,11 @@ nsExternalAppHandler::nsExternalAppHandler(nsIMIMEInfo * aMIMEInfo, // Replace platform specific path separator and illegal characters to avoid any confusion mSuggestedFileName.ReplaceChar(KNOWN_PATH_SEPARATORS, '_'); - mSuggestedFileName.ReplaceChar(FILE_ILLEGAL_CHARACTERS, ' '); - mSuggestedFileName.ReplaceChar(char16_t(0), '_'); + mSuggestedFileName.ReplaceChar(FILE_ILLEGAL_CHARACTERS, '_'); + mSuggestedFileName.ReplaceChar("%", '_'); + mSuggestedFileName.StripChar(char16_t(0)); mTempFileExtension.ReplaceChar(KNOWN_PATH_SEPARATORS, '_'); - mTempFileExtension.ReplaceChar(FILE_ILLEGAL_CHARACTERS, ' '); + mTempFileExtension.ReplaceChar(FILE_ILLEGAL_CHARACTERS, '_'); // Remove unsafe bidi characters which might have spoofing implications (bug 511521). const char16_t unsafeBidiCharacters[] = {