Skip to content

Commit f9bfbe1

Browse files
Treehugger RobotAndroid (Google) Code Review
authored andcommitted
Merge "Check mDataPos to see if the Parcel needs to grow" into main
2 parents 5c39885 + 611b730 commit f9bfbe1

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

libs/binder/Parcel.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ status_t Parcel::appendFrom(const Parcel* parcel, size_t offset, size_t len) {
542542
return BAD_VALUE;
543543
}
544544

545-
if ((mDataSize+len) > mDataCapacity) {
545+
if ((mDataPos + len) > mDataCapacity) {
546546
// grow data
547547
err = growData(len);
548548
if (err != NO_ERROR) {

libs/binder/tests/binderParcelUnitTest.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,17 @@ TEST(Parcel, AppendPlainDataPartial) {
197197
ASSERT_EQ(2, p2.readInt32());
198198
}
199199

200+
TEST(Parcel, AppendWithBadDataPos) {
201+
Parcel p1;
202+
p1.writeInt32(1);
203+
p1.writeInt32(1);
204+
Parcel p2;
205+
p2.setDataCapacity(8);
206+
p2.setDataPosition(10000);
207+
208+
EXPECT_EQ(android::BAD_VALUE, p2.appendFrom(&p1, 0, 8));
209+
}
210+
200211
TEST(Parcel, HasBinders) {
201212
sp<IBinder> b1 = sp<BBinder>::make();
202213

0 commit comments

Comments
 (0)