daemon: catch out of range exceptions too when calling stoll/stoi
And any other exception, just to be safe
This commit is contained in:
parent
a2041c9874
commit
7e7acdc32b
|
@ -343,7 +343,7 @@ bool t_command_parser_executor::set_limit(const std::vector<std::string>& args)
|
||||||
try {
|
try {
|
||||||
limit = std::stoll(args[0]);
|
limit = std::stoll(args[0]);
|
||||||
}
|
}
|
||||||
catch(const std::invalid_argument& ex) {
|
catch(const std::exception& ex) {
|
||||||
std::cout << "failed to parse argument" << std::endl;
|
std::cout << "failed to parse argument" << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -363,7 +363,7 @@ bool t_command_parser_executor::set_limit_up(const std::vector<std::string>& arg
|
||||||
try {
|
try {
|
||||||
limit = std::stoll(args[0]);
|
limit = std::stoll(args[0]);
|
||||||
}
|
}
|
||||||
catch(const std::invalid_argument& ex) {
|
catch(const std::exception& ex) {
|
||||||
std::cout << "failed to parse argument" << std::endl;
|
std::cout << "failed to parse argument" << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -383,7 +383,7 @@ bool t_command_parser_executor::set_limit_down(const std::vector<std::string>& a
|
||||||
try {
|
try {
|
||||||
limit = std::stoll(args[0]);
|
limit = std::stoll(args[0]);
|
||||||
}
|
}
|
||||||
catch(const std::invalid_argument& ex) {
|
catch(const std::exception& ex) {
|
||||||
std::cout << "failed to parse argument" << std::endl;
|
std::cout << "failed to parse argument" << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -402,7 +402,7 @@ bool t_command_parser_executor::out_peers(const std::vector<std::string>& args)
|
||||||
limit = std::stoi(args[0]);
|
limit = std::stoi(args[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
catch(std::invalid_argument& ex) {
|
catch(std::exception& ex) {
|
||||||
_erro("stoi exception");
|
_erro("stoi exception");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -432,7 +432,7 @@ bool t_command_parser_executor::hard_fork_info(const std::vector<std::string>& a
|
||||||
try {
|
try {
|
||||||
version = std::stoi(args[0]);
|
version = std::stoi(args[0]);
|
||||||
}
|
}
|
||||||
catch(std::invalid_argument& ex) {
|
catch(std::exception& ex) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (version <= 0 || version > 255)
|
if (version <= 0 || version > 255)
|
||||||
|
@ -457,7 +457,14 @@ bool t_command_parser_executor::ban(const std::vector<std::string>& args)
|
||||||
time_t seconds = P2P_IP_BLOCKTIME;
|
time_t seconds = P2P_IP_BLOCKTIME;
|
||||||
if (args.size() > 1)
|
if (args.size() > 1)
|
||||||
{
|
{
|
||||||
seconds = std::stoi(args[1]);
|
try
|
||||||
|
{
|
||||||
|
seconds = std::stoi(args[1]);
|
||||||
|
}
|
||||||
|
catch (const std::exception &e)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (seconds == 0)
|
if (seconds == 0)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue