Correctly handle dup() failure in Parcel::readNativeHandle

bail out if dup() fails, instead of creating an invalid native_handle_t

Bug: 28395952

Change-Id: Ia1a6198c0f45165b9c6a55a803e5f64d8afa0572

status_t Parcel::write(const void* data, size_t len)
{
 if (len > INT32_MAX) {
 return BAD_VALUE;
 }

 void* const d = writeInplace(len);
 if (d) {
        memcpy(d, data, len);
 return NO_ERROR;
 }
 return mError;
}

status_t Parcel::write(const void* data, size_t len)
{
 if (len > INT32_MAX) {
 return BAD_VALUE;
 }

 void* const d = writeInplace(len);
 if (d) {
        memcpy(d, data, len);
 return NO_ERROR;
 }
 return mError;
}
