diff --git a/Core/Config.cpp b/Core/Config.cpp index b96a23b950..e66ac808c6 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -1058,6 +1058,11 @@ void Config::DownloadCompletedCallback(http::Download &download) { JsonReader reader(data.c_str(), data.size()); const json_value *root = reader.root(); + if (!root) { + ERROR_LOG(LOADER, "Failed to parse json"); + return; + } + std::string version = root->getString("version", ""); const char *gitVer = PPSSPP_GIT_VERSION; diff --git a/ext/native/net/http_client.cpp b/ext/native/net/http_client.cpp index 739923519e..b6b09eb837 100644 --- a/ext/native/net/http_client.cpp +++ b/ext/native/net/http_client.cpp @@ -46,11 +46,15 @@ bool Connection::Resolve(const char *host, int port) { ELOG("Resolve: Already have a socket"); return false; } + if (!host || port < 1 || port > 65535) { + ELOG("Resolve: Invalid host or port (%d)", port); + return false; + } host_ = host; port_ = port; - char port_str[10]; + char port_str[16]; snprintf(port_str, sizeof(port_str), "%d", port); std::string err;