Snap for 8531162 from 05e451a7f6db2c983f795d9ee14fac306c91ba79 to android12L-tests-release
Change-Id: I416a71ab2293b15446b5974e74380fc842cba86a
diff --git a/gralloc4/src/mali_gralloc_buffer.h b/gralloc4/src/mali_gralloc_buffer.h
index a00234d..a163d1a 100644
--- a/gralloc4/src/mali_gralloc_buffer.h
+++ b/gralloc4/src/mali_gralloc_buffer.h
@@ -119,6 +119,13 @@
#ifdef __cplusplus
struct private_handle_t : public native_handle
{
+private:
+ /* Having a default constructor makes sure that we zero out the padding
+ * which prevents data leak. */
+ private_handle_t() = default;
+
+public:
+
#else
struct private_handle_t
{
@@ -246,19 +253,20 @@
int _req_format, uint64_t _alloc_format,
int _width, int _height, int _stride,
uint64_t _layer_count, plane_info_t _plane_info[MAX_PLANES])
- : flags(_flags)
- , fd_count(_fd_count)
- , width(_width)
- , height(_height)
- , req_format(_req_format)
- , producer_usage(_producer_usage)
- , consumer_usage(_consumer_usage)
- , stride(_stride)
- , alloc_format(_alloc_format)
- , layer_count(_layer_count)
- , allocating_pid(getpid())
- , ref_count(1)
+ : private_handle_t()
{
+ flags = _flags;
+ fd_count = _fd_count;
+ width = _width;
+ height = _height;
+ req_format = _req_format;
+ producer_usage = _producer_usage;
+ consumer_usage = _consumer_usage;
+ stride = _stride;
+ alloc_format = _alloc_format;
+ layer_count = _layer_count;
+ allocating_pid = getpid();
+ ref_count = 1;
version = sizeof(native_handle);
set_numfds(fd_count);
memcpy(plane_info, _plane_info, sizeof(plane_info_t) * MAX_PLANES);