Use new read(Embedded)Buffer/readNativeHandle APIs.

hidl_memory may have a null native_handle.
MQDescriptor may not.

Bug: 34134129
Test: hidl_test
Change-Id: I824760d59984a7c3e00309010760e33e4c289ef0
diff --git a/transport/include/hidl/HidlBinderSupport.h b/transport/include/hidl/HidlBinderSupport.h
index 1ff925c..d0ad3fb 100644
--- a/transport/include/hidl/HidlBinderSupport.h
+++ b/transport/include/hidl/HidlBinderSupport.h
@@ -95,12 +95,12 @@
         size_t parentHandle,
         size_t parentOffset,
         size_t *handle) {
-    const void *ptr = parcel.readEmbeddedBuffer(
+    const void *out;
+    return parcel.readEmbeddedBuffer(
             handle,
             parentHandle,
-            parentOffset + hidl_vec<T>::kOffsetOfBuffer);
-
-    return ptr != NULL ? OK : UNKNOWN_ERROR;
+            parentOffset + hidl_vec<T>::kOffsetOfBuffer,
+            &out);
 }
 
 template<typename T>
@@ -144,14 +144,13 @@
 
     if (_hidl_err != ::android::OK) { return _hidl_err; }
 
-    const native_handle_t *_hidl_mq_handle_ptr = parcel.readEmbeddedNativeHandle(
+    const native_handle_t *_hidl_mq_handle_ptr;
+   _hidl_err = parcel.readEmbeddedNativeHandle(
             parentHandle,
-            parentOffset + MQDescriptor<T, flavor>::kOffsetOfHandle);
+            parentOffset + MQDescriptor<T, flavor>::kOffsetOfHandle,
+            &_hidl_mq_handle_ptr);
 
-    if (_hidl_mq_handle_ptr == nullptr) {
-        _hidl_err = ::android::UNKNOWN_ERROR;
-        return _hidl_err;
-    }
+    if (_hidl_err != ::android::OK) { return _hidl_err; }
 
     return _hidl_err;
 }