libbinder: statusToString for status_t errors
'-status' for status=UNKNOWN_ERROR is UB, since that is
min integer. To avoid this, use the better function
which will also avoid this area. Only the cases that
matter are cleaned up.
Fixes: 354371732
Test: build
Change-Id: I0a71cd2c04680221191c7d926a64bda08012951f
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index 3711362..2d65cf5 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -668,7 +668,8 @@
// FD was unowned in the source parcel.
int newFd = -1;
if (status_t status = binder::os::dupFileDescriptor(oldFd, &newFd); status != OK) {
- ALOGW("Failed to duplicate file descriptor %d: %s", oldFd, strerror(-status));
+ ALOGW("Failed to duplicate file descriptor %d: %s", oldFd,
+ statusToString(status).c_str());
}
rpcFields->mFds->emplace_back(unique_fd(newFd));
// Fixup the index in the data.