hidl_vec: relinquish internal buffer ownership

Bug: 32238147
Change-Id: Ibe62e2008dea5cd2268d56922242bb7657bcc6c6
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
diff --git a/include/hidl/HidlSupport.h b/include/hidl/HidlSupport.h
index 16f460f..b1bb6ed 100644
--- a/include/hidl/HidlSupport.h
+++ b/include/hidl/HidlSupport.h
@@ -113,6 +113,14 @@
         return mBuffer;
     }
 
+    T *releaseData() {
+        if (!mOwnsBuffer && mSize > 0) {
+            resize(mSize);
+        }
+        mOwnsBuffer = false;
+        return mBuffer;
+    }
+
     hidl_vec &operator=(hidl_vec &&other) {
         mBuffer = other.mBuffer;
         mSize = other.mSize;