Fix BufferHubBuffer::Create crash

Change-Id: I4c832c86cc4be9a5622bbd533a71d72c5d669ab1
Fix: 123535377
Test: BufferHub_test BufferHubServer_test VtsHalBufferHubV1_0TargetTest
diff --git a/libs/ui/BufferHubBuffer.cpp b/libs/ui/BufferHubBuffer.cpp
index 9669135..f3856d0 100644
--- a/libs/ui/BufferHubBuffer.cpp
+++ b/libs/ui/BufferHubBuffer.cpp
@@ -180,14 +180,14 @@
         return -EINVAL;
     }
 
-    const int eventFd = bufferTraits.bufferInfo->data[1];
+    // Import fds. Dup fds because hidl_handle owns the fds.
+    const int eventFd = fcntl(bufferTraits.bufferInfo->data[1], F_DUPFD_CLOEXEC, 0);
     if (eventFd < 0) {
         ALOGE("%s: Received a invalid event fd!", __FUNCTION__);
         return -EINVAL;
     }
     mEventFd = BufferHubEventFd(eventFd);
 
-    // Import the metadata. Dup since hidl_handle owns the fd
     unique_fd ashmemFd(fcntl(bufferTraits.bufferInfo->data[0], F_DUPFD_CLOEXEC, 0));
     mMetadata = BufferHubMetadata::Import(std::move(ashmemFd));