Fix issue #27252896: Security Vulnerability -- weak binder

Sending transaction to freed BBinder through weak handle
can cause use of a (mostly) freed object.  We need to try to
safely promote to a strong reference first.

Change-Id: Ic9c6940fa824980472e94ed2dfeca52a6b0fd342
(cherry picked from commit c11146106f94e07016e8e26e4f8628f9a0c73199)

int IPCThreadState::setupPolling(int* fd)
{
 if (mProcess->mDriverFD <= 0) {
 return -EBADF;
 }

    mOut.writeInt32(BC_ENTER_LOOPER);
 *fd = mProcess->mDriverFD;
 return 0;
}

int IPCThreadState::setupPolling(int* fd)
{
 if (mProcess->mDriverFD <= 0) {
 return -EBADF;
 }

    mOut.writeInt32(BC_ENTER_LOOPER);
 *fd = mProcess->mDriverFD;
 return 0;
}
