Wallet: Sanitise -wallet parameter

This commit is contained in:
Luke Dashjr
2017-01-08 20:41:30 +00:00
parent 9756be382e
commit d678771c66
3 changed files with 10 additions and 2 deletions

View File

@@ -3765,6 +3765,12 @@ bool CWallet::InitLoadWallet()
std::string walletFile = GetArg("-wallet", DEFAULT_WALLET_DAT);
if (walletFile.find_first_of("/\\") != std::string::npos) {
return InitError(_("-wallet parameter must only specify a filename (not a path)"));
} else if (SanitizeString(walletFile, SAFE_CHARS_FILENAME) != walletFile) {
return InitError(_("Invalid characters in -wallet filename"));
}
CWallet * const pwallet = CreateWalletFromFile(walletFile);
if (!pwallet) {
return false;