diff --git a/base/src/parcel.cpp b/base/src/parcel.cpp index 4696e5c7f2c743fb332b6947538a7a0b5ac11609..bd239109d4f01c28a4d21a99c79db2126c2e41d5 100644 --- a/base/src/parcel.cpp +++ b/base/src/parcel.cpp @@ -183,9 +183,9 @@ bool Parcel::ValidateReadData([[maybe_unused]]size_t upperBound) size_t nextObj = nextObjectIdx_; do { if (readPos < objects[nextObj] + sizeof(parcel_flat_binder_object)) { - if (!IsReadObjectData(nextObj, upperBound)) { - return false; - } + UTILS_LOGE("Non-object Read object data, readPos = %{public}zu, upperBound = %{public}zu", + readCursor_, upperBound); + return false; } nextObj++; } while (nextObj < objSize && upperBound > objects[nextObj]); diff --git a/base/test/unittest/common/utils_parcel_test.cpp b/base/test/unittest/common/utils_parcel_test.cpp index 255d9371de42a63b989a8a7f56056280dbaea3fe..2222851510482f2d9eb21463353d0f211110736d 100644 --- a/base/test/unittest/common/utils_parcel_test.cpp +++ b/base/test/unittest/common/utils_parcel_test.cpp @@ -2113,7 +2113,7 @@ HWTEST_F(UtilsParcelTest, test_multiRemoteObjectReadBuffer_004, TestSize.Level0) EXPECT_EQ(result, true); const uint8_t *buffer = parcel.ReadBuffer(sizeof(parcel_flat_binder_object) * 3); - EXPECT_EQ(true, buffer != nullptr); + EXPECT_EQ(true, buffer == nullptr); } HWTEST_F(UtilsParcelTest, test_multiRemoteObjectReadBuffer_005, TestSize.Level0)