diff options
author | MarcoFalke <falke.marco@gmail.com> | 2017-11-01 12:26:23 -0400 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2017-11-01 12:27:02 -0400 |
commit | 1b8c88451b0554502435d3883c528ad0aad1b09b (patch) | |
tree | 90cf986283ccd754f0933e669c00eee2329c1027 /src/wallet/db.cpp | |
parent | cffa5ee132f3ef6a8d138eb98d15da2b61999ca4 (diff) | |
parent | 5d465e396249a0e2cc60b16984a2bdbe4c8993c3 (diff) |
Merge #11376: Ensure backupwallet fails when attempting to backup to source file
5d465e396 Ensure backupwallet fails when attempting to backup to source file (Tomas van der Wansem)
Pull request description:
Previous behaviour was to destroy the wallet (to zero-length)
This fixes #11375
Tree-SHA512: bfd1738659b15e3f23b6bbdf55ec12269c62c820bf701daec19500b52bd5845bb5516733c6f76f36197eb155182a8a35dc239ad4de2ef1e59bbb0f124a455759
Diffstat (limited to 'src/wallet/db.cpp')
-rw-r--r-- | src/wallet/db.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/wallet/db.cpp b/src/wallet/db.cpp index 459d289a42..5d48b01c2e 100644 --- a/src/wallet/db.cpp +++ b/src/wallet/db.cpp @@ -705,6 +705,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; |