libui: fix passing Fence object over binder
The Fence object was writing a size_t into the binder buffer in flatten, which changes size if the producer and consumer are running in a 32-bit and a 64-bit process. Use a uint32_t instead. Change-Id: Ifed526513800ce27f9d605101cddd922292cca37
This commit is contained in:
parent
27f8840f22
commit
288f2ef629
@ -138,7 +138,7 @@ status_t Fence::flatten(void*& buffer, size_t& size, int*& fds, size_t& count) c
|
||||
if (size < getFlattenedSize() || count < getFdCount()) {
|
||||
return NO_MEMORY;
|
||||
}
|
||||
FlattenableUtils::write(buffer, size, getFdCount());
|
||||
FlattenableUtils::write(buffer, size, (uint32_t)getFdCount());
|
||||
if (isValid()) {
|
||||
*fds++ = mFenceFd;
|
||||
count--;
|
||||
@ -156,7 +156,7 @@ status_t Fence::unflatten(void const*& buffer, size_t& size, int const*& fds, si
|
||||
return NO_MEMORY;
|
||||
}
|
||||
|
||||
size_t numFds;
|
||||
uint32_t numFds;
|
||||
FlattenableUtils::read(buffer, size, numFds);
|
||||
|
||||
if (numFds > 1) {
|
||||
|
Loading…
Reference in New Issue
Block a user