Merge remote-tracking branch 'upstream/canary_experimental' into edge

This commit is contained in:
Herman S.
2025-12-31 14:38:30 +09:00
+15 -5
View File
@@ -241,13 +241,23 @@ DECLARE_XAM_EXPORT1(NetDll_XNetGetOpt, kNetworking, kSketchy);
dword_result_t NetDll_XNetRandom_entry(dword_t caller, lpvoid_t buffer_ptr,
dword_t length) {
// For now, constant values.
// This makes replicating things easier.
std::memset(buffer_ptr, 0xBB, length);
uint8_t* buffer_data_ptr = buffer_ptr.as<uint8_t*>();
return 0;
if (buffer_data_ptr == nullptr || length == 0) {
return X_ERROR_SUCCESS;
}
std::random_device rnd;
std::mt19937_64 gen(rnd());
std::uniform_int_distribution<int> dist(0,
std::numeric_limits<uint8_t>::max());
std::generate(buffer_data_ptr, buffer_data_ptr + length,
[&]() { return static_cast<uint8_t>(dist(gen)); });
return X_ERROR_SUCCESS;
}
DECLARE_XAM_EXPORT1(NetDll_XNetRandom, kNetworking, kStub);
DECLARE_XAM_EXPORT1(NetDll_XNetRandom, kNetworking, kImplemented);
dword_result_t NetDll_WSAStartup_entry(dword_t caller, word_t version,
pointer_t<X_WSADATA> data_ptr) {