Browse Source

prevent exception when invalid IP entered into listen-ip or public-ip fields in AZ

cl-refactor
subtly 10 years ago
parent
commit
45c3bea8f1
  1. 21
      alethzero/MainWin.cpp

21
alethzero/MainWin.cpp

@ -252,11 +252,30 @@ void Main::addNewId(QString _ids)
NetworkPreferences Main::netPrefs() const NetworkPreferences Main::netPrefs() const
{ {
auto listenip = ui->listenIP->text().toStdString();
try
{
listenip = bi::address::from_string(listenip).to_string();
}
catch (...)
{
listenip = "";
}
auto publicip = ui->forcePublicIP->text().toStdString(); auto publicip = ui->forcePublicIP->text().toStdString();
try
{
publicip = bi::address::from_string(publicip).to_string();
}
catch (...)
{
publicip = "";
}
if (isPublicAddress(publicip)) if (isPublicAddress(publicip))
return NetworkPreferences(publicip, ui->listenIP->text().toStdString(), ui->port->value(), ui->upnp->isChecked()); return NetworkPreferences(publicip, ui->listenIP->text().toStdString(), ui->port->value(), ui->upnp->isChecked());
else else
return NetworkPreferences(ui->listenIP->text().toStdString(), ui->port->value(), ui->upnp->isChecked()); return NetworkPreferences(listenip, ui->port->value(), ui->upnp->isChecked());
} }
void Main::onKeysChanged() void Main::onKeysChanged()

Loading…
Cancel
Save