Merge "Clear exceptions before calling IsInstanceOf."

This commit is contained in:
TreeHugger Robot
2017-02-11 00:46:23 +00:00
committed by Android (Google) Code Review

View File

@@ -157,13 +157,15 @@ status_t JHwBinder::onTransact(
if (env->ExceptionCheck()) {
jthrowable excep = env->ExceptionOccurred();
env->ExceptionDescribe();
env->ExceptionClear();
// It is illegal to call IsInstanceOf if there is a pending exception.
// Attempting to do so results in a JniAbort which crashes the entire process.
if (env->IsInstanceOf(excep, gErrorClass)) {
/* It's an error */
LOG(ERROR) << "Forcefully exiting";
exit(1);
} else {
env->ExceptionClear();
LOG(ERROR) << "Uncaught exception!";
}