yuzu-emu
/
yuzu-android
Archived
1
0
Fork 0

service/am: Add missing return in error case for IStorageAccessor's Read()/Write().

Previously this would fall through and return successfully, despite
being an out of bounds read or write.
This commit is contained in:
Lioncash 2019-05-18 18:49:19 -04:00
parent c4d549919f
commit 88c263ee8e
1 changed files with 2 additions and 0 deletions

View File

@ -835,6 +835,7 @@ void IStorageAccessor::Write(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};
rb.Push(ERR_SIZE_OUT_OF_BOUNDS); rb.Push(ERR_SIZE_OUT_OF_BOUNDS);
return;
} }
std::memcpy(backing.buffer.data() + offset, data.data(), data.size()); std::memcpy(backing.buffer.data() + offset, data.data(), data.size());
@ -857,6 +858,7 @@ void IStorageAccessor::Read(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};
rb.Push(ERR_SIZE_OUT_OF_BOUNDS); rb.Push(ERR_SIZE_OUT_OF_BOUNDS);
return;
} }
ctx.WriteBuffer(backing.buffer.data() + offset, size); ctx.WriteBuffer(backing.buffer.data() + offset, size);