Ensure backupwallet fails when attempting to backup to source file

Previous behaviour was to destroy the wallet (to zero-length)
This commit is contained in:
Tomas van der Wansem
2017-09-21 00:10:46 +02:00
parent 5a9da37fb3
commit 5d465e3962
2 changed files with 15 additions and 0 deletions

View File

@@ -672,6 +672,11 @@ bool CWalletDBWrapper::Backup(const std::string& strDest)
pathDest /= strFile;
try {
if (fs::equivalent(pathSrc, pathDest)) {
LogPrintf("cannot backup to wallet source file %s\n", pathDest.string());
return false;
}
fs::copy_file(pathSrc, pathDest, fs::copy_option::overwrite_if_exists);
LogPrintf("copied %s to %s\n", strFile, pathDest.string());
return true;