From 02d4ea6c7ef8a8e5453509bbabf064a4016922f8 Mon Sep 17 00:00:00 2001 From: TomGoodIdea Date: Sat, 21 Mar 2026 07:43:52 +0100 Subject: [PATCH] Add more extensions to the potentially dangerous downloads list --- src/core/utils/Util.cpp | 16 +++++++++++++--- src/windows/Main.cpp | 13 +------------ 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/core/utils/Util.cpp b/src/core/utils/Util.cpp index d636affa..84e01fae 100644 --- a/src/core/utils/Util.cpp +++ b/src/core/utils/Util.cpp @@ -207,12 +207,22 @@ bool EndsWithCaseInsens(const std::string& what, const std::string& with) bool IsPotentiallyDangerousDownload(const std::string& filename) { return - EndsWithCaseInsens(filename, ".exe") || + EndsWithCaseInsens(filename, ".7z") || EndsWithCaseInsens(filename, ".bat") || + EndsWithCaseInsens(filename, ".cmd") || EndsWithCaseInsens(filename, ".com") || + EndsWithCaseInsens(filename, ".exe") || + EndsWithCaseInsens(filename, ".js") || + EndsWithCaseInsens(filename, ".jse") || + EndsWithCaseInsens(filename, ".hta") || + EndsWithCaseInsens(filename, ".lnk") || + EndsWithCaseInsens(filename, ".pif") || + EndsWithCaseInsens(filename, ".rar") || + EndsWithCaseInsens(filename, ".reg") || + EndsWithCaseInsens(filename, ".scr") || + EndsWithCaseInsens(filename, ".vbe") || EndsWithCaseInsens(filename, ".vbs") || - EndsWithCaseInsens(filename, ".cmd") || - EndsWithCaseInsens(filename, ".scr"); + EndsWithCaseInsens(filename, ".zip"); } int64_t ExtractTimestamp(Snowflake sf) diff --git a/src/windows/Main.cpp b/src/windows/Main.cpp index cc752d26..b30ee0b4 100644 --- a/src/windows/Main.cpp +++ b/src/windows/Main.cpp @@ -1638,18 +1638,7 @@ LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) case WM_IMAGESAVED: { LPCTSTR file = (LPCTSTR) lParam; - size_t sl = _tcslen(file); - bool isExe = false; - - if (sl > 4 && ( - _tcscmp(file + sl - 4, TEXT(".exe")) == 0 || - _tcscmp(file + sl - 4, TEXT(".scr")) == 0 || - _tcscmp(file + sl - 4, TEXT(".lnk")) == 0 || - _tcscmp(file + sl - 4, TEXT(".zip")) == 0 || - _tcscmp(file + sl - 4, TEXT(".rar")) == 0 || - _tcscmp(file + sl - 4, TEXT(".7z")) == 0)) { - isExe = true; - } + bool isExe = IsPotentiallyDangerousDownload(MakeStringFromTString(file)); TCHAR buff[4096]; WAsnprintf(