Commit d9d09ef7 authored by Albert Astals Cid's avatar Albert Astals Cid
Browse files

Don't allow saving over read-only files

BUGS: 440986
parent 7c87c702
Pipeline #80995 passed with stage
in 27 minutes and 43 seconds
......@@ -2545,6 +2545,15 @@ bool Part::saveAs(const QUrl &saveUrl, SaveAsFlags flags)
// Figure out the real save url, for symlinks we don't want to copy over the symlink but over the target file
const QUrl realSaveUrl = resolveSymlinksIfFileExists(saveUrl);
// Due to the way we write we can overwrite readonly files so check if it's one and just bail out early
if (realSaveUrl.isLocalFile()) {
const QFileInfo fi(realSaveUrl.toLocalFile());
if (fi.exists() && !fi.isWritable()) {
KMessageBox::information(widget(), i18n("File could not be saved in '%1'. Try to save it to another location.", realSaveUrl.toLocalFile()));
return false;
}
}
QScopedPointer<QTemporaryFile> tempFile;
KIO::Job *copyJob = nullptr; // this will be filled with the job that writes to saveUrl
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment