diff options
author | Zach Johnson <zachoverflow@google.com> | 2015-07-13 18:00:35 -0700 |
---|---|---|
committer | Andre Eisenbach <eisenbach@google.com> | 2015-07-14 03:40:49 +0000 |
commit | c6242459415fe6bd92aa1e0d69dd63edb339f7b7 (patch) | |
tree | 9ba6777bc2cc2abed16ab9cd8727cb75ed4fe743 /framework/java/android/bluetooth/BluetoothSocket.java | |
parent | a25c8ff64c627cfca23367845383e30ee8b1a0a1 (diff) |
Fix BluetoothSocket file descriptor leak
Sockets accepted on a server socket didn't populate
the mPfd field, which is used to close out the java
end of the native-and-java communication socket when
the overall rfcomm socket is closed. #badnewsbears
b/21398841
Change-Id: I3adb0a9965f83d0f3006fa4f79ea4abeab5c9a17
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothSocket.java')
-rw-r--r-- | framework/java/android/bluetooth/BluetoothSocket.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/framework/java/android/bluetooth/BluetoothSocket.java b/framework/java/android/bluetooth/BluetoothSocket.java index 6302521e63..fb81fd1ea9 100644 --- a/framework/java/android/bluetooth/BluetoothSocket.java +++ b/framework/java/android/bluetooth/BluetoothSocket.java @@ -240,6 +240,8 @@ public final class BluetoothSocket implements Closeable { as.close(); throw new IOException("bt socket acept failed"); } + + as.mPfd = new ParcelFileDescriptor(fds[0]); as.mSocket = new LocalSocket(fds[0]); as.mSocketIS = as.mSocket.getInputStream(); as.mSocketOS = as.mSocket.getOutputStream(); |