Don't throw in socket_read if socket_read_all returns < 0.
All codepaths in socket_read_all that return a negative value have already thrown an exception. socket_read should not throw again. This causes debuggagle apps to crash with a JNI failure if LocalSocket#read gets an error. Test: atest CtsNetTestCases Bug: 229813087 Change-Id: I2a04a799d3748c221f8555fa7afc40d73f0f392c
This commit is contained in:
@@ -257,7 +257,7 @@ static jint socket_read (JNIEnv *env, jobject object, jobject fileDescriptor)
|
||||
err = socket_read_all(env, object, fd, &buf, 1);
|
||||
|
||||
if (err < 0) {
|
||||
jniThrowIOException(env, errno);
|
||||
// socket_read_all has already thrown
|
||||
return (jint)0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user