From 039dd5feae8183088c736f439aacdb366912456b Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Mon, 27 Jun 2022 10:24:28 +0300 Subject: tdf#126263: make sure to convert system path to file URLs Change-Id: Ia21f29e3a1eb078a7df2366399c59d46ab26ff3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136482 Tested-by: Jenkins Reviewed-by: Mike Kaganski --- shell/source/win32/simplemail/smplmailclient.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'shell/source/win32/simplemail/smplmailclient.cxx') diff --git a/shell/source/win32/simplemail/smplmailclient.cxx b/shell/source/win32/simplemail/smplmailclient.cxx index 45331098b835..4919ded7f889 100644 --- a/shell/source/win32/simplemail/smplmailclient.cxx +++ b/shell/source/win32/simplemail/smplmailclient.cxx @@ -207,7 +207,11 @@ OUString CSmplMailClient::CopyAttachment(const OUString& sOrigAttachURL, OUStrin maAttachmentFiles.back()->EnableKillingFile(); INetURLObject aFilePathObj(maAttachmentFiles.back()->GetURL()); OUString sNewAttachmentURL = aFilePathObj.GetMainURL(INetURLObject::DecodeMechanism::NONE); - if (osl::File::copy(sOrigAttachURL, sNewAttachmentURL) == osl::FileBase::RC::E_None) + OUString sCorrectedOrigAttachURL(sOrigAttachURL); + // Make sure to convert to URL, if a system path was passed to XSimpleMailMessage + // Ignore conversion error, in which case sCorrectedOrigAttachURL is unchanged + osl::FileBase::getFileURLFromSystemPath(sCorrectedOrigAttachURL, sCorrectedOrigAttachURL); + if (osl::File::copy(sCorrectedOrigAttachURL, sNewAttachmentURL) == osl::FileBase::RC::E_None) { INetURLObject url(sOrigAttachURL, INetURLObject::EncodeMechanism::WasEncoded); sUserVisibleName = url.getName(INetURLObject::LAST_SEGMENT, true, -- cgit