Revert "[XAM] Fixed possible crash caused by printing invalid characters in XamUserGetGamerTag and XamUserGetName"

This reverts commit fe85be8817.

Trying to figure out false-positive in MS Defender
This commit is contained in:
Gliniak 2025-01-01 13:06:21 +01:00
parent ceb94e019a
commit 8ba9da5c53
1 changed files with 9 additions and 12 deletions

View File

@ -139,25 +139,22 @@ X_HRESULT_result_t XamUserGetSigninInfo_entry(
}
DECLARE_XAM_EXPORT1(XamUserGetSigninInfo, kUserProfiles, kImplemented);
dword_result_t XamUserGetName_entry(dword_t user_index, dword_t buffer,
dword_result_t XamUserGetName_entry(dword_t user_index, lpstring_t buffer,
dword_t buffer_len) {
if (user_index >= XUserMaxUserCount) {
return X_ERROR_INVALID_PARAMETER;
}
char* str_buffer = kernel_memory()->TranslateVirtual<char*>(buffer);
if (!kernel_state()->xam_state()->IsUserSignedIn(user_index)) {
*str_buffer = 0;
if (kernel_state()->xam_state()->IsUserSignedIn(user_index)) {
const auto& user_profile =
kernel_state()->xam_state()->GetUserProfile(user_index);
const auto& user_name = user_profile->name();
xe::string_util::copy_truncating(
buffer, user_name, std::min(buffer_len.value(), uint32_t(16)));
} else {
*buffer = 0;
return X_ERROR_NO_SUCH_USER;
}
const auto& user_profile =
kernel_state()->xam_state()->GetUserProfile(user_index);
const auto& user_name = user_profile->name();
xe::string_util::copy_truncating(str_buffer, user_name,
std::min(buffer_len.value(), uint32_t(16)));
return X_ERROR_SUCCESS;
}
DECLARE_XAM_EXPORT1(XamUserGetName, kUserProfiles, kImplemented);