Set max parameter_size to 0x1000

This commit is contained in:
B3n30 2018-07-07 18:52:27 +02:00
parent be1ae17c61
commit 468c689cf4
1 changed files with 8 additions and 6 deletions

View File

@ -620,12 +620,14 @@ void Module::Interface::GetStartupArgument(Kernel::HLERequestContext& ctx) {
u32 parameter_size = rp.Pop<u32>(); u32 parameter_size = rp.Pop<u32>();
StartupArgumentType startup_argument_type = static_cast<StartupArgumentType>(rp.Pop<u8>()); StartupArgumentType startup_argument_type = static_cast<StartupArgumentType>(rp.Pop<u8>());
if (parameter_size > 0x300) { const u32 max_parameter_size{0x1000};
parameter_size = 0x300;
LOG_ERROR( if (parameter_size > max_parameter_size) {
Service_APT, parameter_size = max_parameter_size;
"Parameter size is outside the valid range (capped to 0x300): parameter_size={:#010X}", LOG_ERROR(Service_APT,
parameter_size); "Parameter size is outside the valid range (capped to {:#010X}): "
"parameter_size={:#010X}",
max_parameter_size, parameter_size);
} }
std::vector<u8> parameter(parameter_size, 0); std::vector<u8> parameter(parameter_size, 0);