Add mitigations against borked ARM32 exception unrollers, possibly fix GitHub issue

This commit is contained in:
Adam Ierymenko 2019-09-04 12:48:28 -07:00
parent ef69f1bb27
commit a16377cea5
No known key found for this signature in database
GPG Key ID: C8877CF2D7A5D7F3

@ -1353,8 +1353,8 @@ public:
if (j.is_object()) {
seed = Utils::hexStrToU64(OSUtils::jsonString(j["seed"],"0").c_str());
}
} catch (std::exception &exc) {
} catch ( ... ) {
// discard invalid JSON
}
std::vector<World> moons(_node->moons());
@ -1403,8 +1403,8 @@ public:
json &allowDefault = j["allowDefault"];
if (allowDefault.is_boolean()) localSettings.allowDefault = (bool)allowDefault;
}
} catch (std::exception &exc) {
} catch ( ... ) {
// discard invalid JSON
}
setNetworkSettings(nws->networks[i].nwid,localSettings);
@ -2035,6 +2035,8 @@ public:
return;
}
} catch (std::exception &exc) {
_phy.close(sock);
} catch ( ... ) {
_phy.close(sock);
}
@ -2143,6 +2145,10 @@ public:
#endif
_nets.erase(nwid);
return -999;
} catch (std::exception &exc) {
return -999;
} catch (int exc) {
return -999;
} catch ( ... ) {
return -999; // tap init failed
}