summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alina Kalyakina <alinakalyakina@google.com> 2024-07-18 16:00:47 +0000
committer Alina Kalyakina <alinakalyakina@google.com> 2024-07-29 09:49:20 +0000
commit86f8fe4d4b3512b4bc4d26ff9ae13f2cd003784f (patch)
treed91f49ce250f5014b04ca2198ab10f6f123dbc4f
parentda62cb20839940ae274bf1c2307eec7721241a43 (diff)
Reject usage == 0 in AHardwareBuffer_lock* functions
Usage flags must be a combination of AHARDWAREBUFFER_USAGE_CPU_* flags Bug: 346894869 Flag: EXEMPT bugfix Change-Id: I247ea504f1e31dd242cccaa5fbba08c9ad2a3135
-rw-r--r--libs/nativewindow/AHardwareBuffer.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/libs/nativewindow/AHardwareBuffer.cpp b/libs/nativewindow/AHardwareBuffer.cpp
index dd78049b16..ca41346d46 100644
--- a/libs/nativewindow/AHardwareBuffer.cpp
+++ b/libs/nativewindow/AHardwareBuffer.cpp
@@ -196,10 +196,10 @@ int AHardwareBuffer_lockAndGetInfo(AHardwareBuffer* buffer, uint64_t usage,
return BAD_VALUE;
}
- if (usage & ~(AHARDWAREBUFFER_USAGE_CPU_READ_MASK |
- AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK)) {
+ if (usage & ~(AHARDWAREBUFFER_USAGE_CPU_READ_MASK | AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK) ||
+ usage == 0) {
ALOGE("Invalid usage flags passed to AHardwareBuffer_lock; only "
- "AHARDWAREBUFFER_USAGE_CPU_* flags are allowed");
+ "AHARDWAREBUFFER_USAGE_CPU_* flags are allowed");
return BAD_VALUE;
}
@@ -248,10 +248,10 @@ int AHardwareBuffer_lock(AHardwareBuffer* buffer, uint64_t usage,
if (!buffer) return BAD_VALUE;
- if (usage & ~(AHARDWAREBUFFER_USAGE_CPU_READ_MASK |
- AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK)) {
+ if (usage & ~(AHARDWAREBUFFER_USAGE_CPU_READ_MASK | AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK) ||
+ usage == 0) {
ALOGE("Invalid usage flags passed to AHardwareBuffer_lock; only "
- "AHARDWAREBUFFER_USAGE_CPU_* flags are allowed");
+ "AHARDWAREBUFFER_USAGE_CPU_* flags are allowed");
return BAD_VALUE;
}
@@ -277,10 +277,10 @@ int AHardwareBuffer_lockPlanes(AHardwareBuffer* buffer, uint64_t usage,
int32_t fence, const ARect* rect, AHardwareBuffer_Planes* outPlanes) {
if (!buffer || !outPlanes) return BAD_VALUE;
- if (usage & ~(AHARDWAREBUFFER_USAGE_CPU_READ_MASK |
- AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK)) {
+ if (usage & ~(AHARDWAREBUFFER_USAGE_CPU_READ_MASK | AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK) ||
+ usage == 0) {
ALOGE("Invalid usage flags passed to AHardwareBuffer_lock; only "
- " AHARDWAREBUFFER_USAGE_CPU_* flags are allowed");
+ " AHARDWAREBUFFER_USAGE_CPU_* flags are allowed");
return BAD_VALUE;
}