parcel序列化未校验size

Signed-off-by: litiangang4 <litiangang4@huawei.com>
This commit is contained in:
litiangang4
2023-04-26 18:35:14 +08:00
parent c24a79e094
commit 58b0dfddea
2 changed files with 8 additions and 3 deletions
-2
View File
@@ -16,8 +16,6 @@ distributedinput_path = "//foundation/distributedhardware/distributed_input"
distributedhardwarefwk_path =
"//foundation/distributedhardware/distributed_hardware_fwk"
window_manager_path = "//foundation/window/window_manager"
common_path = "${distributedinput_path}/common"
utils_path = "${distributedinput_path}/utils"
@@ -40,8 +40,11 @@ int32_t StartStopResultCallbackStub::OnRemoteRequest(
case IStartStopResultCallback::Message::RESULT_START: {
std::string srcId = data.ReadString();
std::string sinkId = data.ReadString();
uint32_t size = data.ReadUint32();
if (size > IPC_VECTOR_MAX_SIZE) {
DHLOGI("OnRemoteRequest start data size too large.");
return ERR_DH_INPUT_IPC_READ_VALID_FAIL;
}
std::vector<std::string> dhIds;
for (uint32_t i = 0; i < size; i++) {
std::string dhId = data.ReadString();
@@ -55,6 +58,10 @@ int32_t StartStopResultCallbackStub::OnRemoteRequest(
std::string srcId = data.ReadString();
std::string sinkId = data.ReadString();
uint32_t size = data.ReadUint32();
if (size > IPC_VECTOR_MAX_SIZE) {
DHLOGI("OnRemoteRequest stop data size too large.");
return ERR_DH_INPUT_IPC_READ_VALID_FAIL;
}
std::vector<std::string> dhIds;
for (uint32_t i = 0; i < size; i++) {
std::string dhId = data.ReadString();