X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FVCBackend.cpp;h=e4104bd0b0a9f0a8365f0c4cd13c97be0c6eaa9d;hb=b4fad55fd732c097ac44cf7a3428281376cc5dcc;hp=6350766dac7e57ef324c31f055182bd244b9239b;hpb=faef2f93dd62f308adbd08597be1f568eb2c9cc2;p=lyx.git diff --git a/src/VCBackend.cpp b/src/VCBackend.cpp index 6350766dac..e4104bd0b0 100644 --- a/src/VCBackend.cpp +++ b/src/VCBackend.cpp @@ -31,6 +31,8 @@ #include "support/TempFile.h" #include +#include +#include using namespace std; using namespace lyx::support; @@ -169,6 +171,8 @@ void RCS::scanMaster() LYXERR(Debug::LYXVC, "LyXVC::RCS: scanMaster: " << master_); ifstream ifs(master_.toFilesystemEncoding().c_str()); + // limit the size of strings we read to avoid memory problems + ifs >> setw(65636); string token; bool read_enough = false; @@ -283,7 +287,7 @@ LyXVC::CommandResult RCS::checkIn(string const & msg, string & log) bool RCS::checkInEnabled() { - return owner_ && !owner_->isReadonly(); + return owner_ && !owner_->hasReadonlyFlag(); } @@ -325,7 +329,7 @@ string RCS::checkOut() bool RCS::checkOutEnabled() { - return owner_ && owner_->isReadonly(); + return owner_ && owner_->hasReadonlyFlag(); } @@ -566,6 +570,8 @@ void CVS::scanMaster() // Ok extract the fields. smatch sm; + // false positive from coverity + // coverity[CHECKED_RETURN] regex_match(line, sm, reg); //sm[0]; // whole matched string @@ -1432,7 +1438,7 @@ bool SVN::fileLock(bool lock, FileName const & tmpf, string &status) + " > " + quoteName(tmpf.toFilesystemEncoding()), FileName(owner_->filePath())); - // Lock error messages go unfortunately on stderr and are unreachible this way. + // Lock error messages go unfortunately on stderr and are unreachable this way. ifstream ifs(tmpf.toFilesystemEncoding().c_str()); string line; while (ifs) { @@ -2254,7 +2260,7 @@ bool GIT::prepareFileRevisionEnabled() bool GIT::toggleReadOnlyEnabled() { - return false; + return true; }