[XAM] Fixed crash related to incorrect buffer size in UserPlaylist enum
- Replaced unk_ptr in XMP_CREATE_USER_PLAYLIST_ENUMERATOR - Simplified logic in achievements StringBuffer
This commit is contained in:
committed by
Radosław Gliński
parent
4b73839bf1
commit
dce4d38c0a
@@ -69,7 +69,8 @@ X_HRESULT XamApp::DispatchMessageSync(uint32_t message, uint32_t buffer_ptr,
|
||||
reinterpret_cast<uint8_t*>(&cross_title_data);
|
||||
|
||||
uint32_t item_count = 0;
|
||||
X_RESULT result = e->WriteItems(0, cross_title_data_ptr, &item_count);
|
||||
X_RESULT result = e->WriteItems(cross_title_data_ptr,
|
||||
data_ptr->buffer_size, &item_count);
|
||||
|
||||
XCONTENT_DATA_INTERNAL* content_data_ptr =
|
||||
memory_->TranslateVirtual<XCONTENT_DATA_INTERNAL*>(
|
||||
|
||||
@@ -403,7 +403,7 @@ X_HRESULT XmpApp::DispatchMessageSync(uint32_t message, uint32_t buffer_ptr,
|
||||
|
||||
XELOGD("XMPCreateUserPlaylistEnumerator({:08X}, {:08X}, {:08X})",
|
||||
uint32_t(args->xmp_client), uint32_t(args->flags),
|
||||
uint32_t(args->unk_ptr));
|
||||
uint32_t(args->object_ptr));
|
||||
return X_E_SUCCESS;
|
||||
}
|
||||
case 0x00070029: {
|
||||
|
||||
@@ -133,7 +133,7 @@ static_assert_size(XMP_GET_PLAYBACK_CONTROLLER, 0xC);
|
||||
struct XMP_CREATE_USER_PLAYLIST_ENUMERATOR {
|
||||
xe::be<uint32_t> xmp_client;
|
||||
xe::be<uint32_t> flags;
|
||||
xe::be<uint32_t> unk_ptr;
|
||||
xe::be<uint32_t> object_ptr;
|
||||
};
|
||||
static_assert_size(XMP_CREATE_USER_PLAYLIST_ENUMERATOR, 0xC);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user