ArrayIndexOutOfBoundsException when reading a record
- Android version: 4.2.2
- Phone model: TCT One Touch 4033D (Yaris_M)
- Briar version: 1.3.8 (80767753)
Stacktrace:
java.lang.ArrayIndexOutOfBoundsException: src.length=1 srcPos=0 dst.length=4 dstPos=0 length=4
at java.lang.System.arraycopy(Native Method)
at java.io.BufferedInputStream.read(BufferedInputStream.java:286)
at libcore.io.Streams.readFully(Streams.java:81)
at java.io.DataInputStream.readFully(DataInputStream.java:120)
at java.io.DataInputStream.readFully(DataInputStream.java:116)
at org.briarproject.bramble.record.RecordReaderImpl.readRecord(RecordReaderImpl.java:35)
at org.briarproject.bramble.record.RecordReaderImpl.readRecord(RecordReaderImpl.java:52)
at org.briarproject.bramble.keyagreement.KeyAgreementTransport.readRecord(KeyAgreementTransport.java:114)
at org.briarproject.bramble.keyagreement.KeyAgreementTransport.receiveKey(KeyAgreementTransport.java:77)
at org.briarproject.bramble.keyagreement.KeyAgreementProtocol.receiveKey(KeyAgreementProtocol.java:130)
at org.briarproject.bramble.keyagreement.KeyAgreementProtocol.perform(KeyAgreementProtocol.java:107)
at org.briarproject.bramble.keyagreement.KeyAgreementTaskImpl.run(KeyAgreementTaskImpl.java:117)
Last lines of log
11-01 11:59:10.121 I/AddNearbyContactViewModel: Got result from decoder
11-01 11:59:10.121 I/AddNearbyContactViewModel: Remote payload is 48 bytes
11-01 11:59:10.123 I/KeyAgreementConnector: Starting outgoing BQP connections as Bob
11-01 11:59:10.124 I/CameraView: Stopping preview
11-01 11:59:10.125 I/KeyAgreementConnector: Connecting via org.briarproject.bramble.bluetooth
11-01 11:59:10.125 I/KeyAgreementConnector: Connecting via org.briarproject.bramble.lan
11-01 11:59:10.126 I/AbstractBluetoothPlugin: Connecting to key agreement UUID a2271b04-3c3a-3dea-a45c-e8d6bfa9aa62
11-01 11:59:10.126 I/AbstractBluetoothPlugin: Connecting to 1C:[scrubbed]:49
11-01 11:59:10.355 I/CameraView: Releasing camera
11-01 11:59:10.423 I/CameraView: Surface destroyed
11-01 11:59:12.841 I/AbstractBluetoothPlugin: Connected to 1C:[scrubbed]:49
11-01 11:59:12.841 I/BluetoothConnectionLimiterImpl: Connection opened, 1 open
11-01 11:59:12.842 I/KeyAgreementConnector: org.briarproject.bramble.bluetooth: Outgoing connection
11-01 11:59:17.975 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
11-01 11:59:22.841 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:22.841 I/AndroidTaskScheduler: Task is 0 ms overdue
11-01 11:59:32.842 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:32.843 I/AndroidTaskScheduler: Task is 0 ms overdue
11-01 11:59:42.106 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:42.106 I/AndroidTaskScheduler: Task is 2 ms overdue
11-01 11:59:42.107 I/PollerImpl: Polling plugin org.briarproject.bramble.lan
11-01 11:59:42.108 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.lan
11-01 11:59:42.844 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:42.844 I/AndroidTaskScheduler: Task is 1 ms overdue
11-01 11:59:45.146 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:45.146 I/AndroidTaskScheduler: Task is 1 ms overdue
11-01 11:59:45.147 I/PollerImpl: Polling plugin org.briarproject.bramble.tor
11-01 11:59:45.148 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.tor
11-01 11:59:52.849 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:52.849 I/AndroidTaskScheduler: Task is 1 ms overdue
11-01 11:59:58.011 I/KeyAgreementConnector: org.briarproject.bramble.bluetooth: Data available
11-01 11:59:58.011 I/ConnectionChooserImpl: Got connection for org.briarproject.bramble.bluetooth
11-01 11:59:58.022 I/KeyAgreementConnector: Stopping BQP listeners
11-01 11:59:58.026 I/ConnectionChooserImpl: java.io.IOException: [JSR82] accept: Connection is not created (failed or aborted).
11-01 11:59:58.034 I/ConnectionChooserImpl: Closing 0 unused connections
11-01 11:59:58.034 I/KeyAgreementTaskImpl: Starting BQP protocol
11-01 11:59:58.042 I/ConnectionChooserImpl: java.net.SocketException: Socket closed
I'm marking this issue as confidential in case it's remotely triggerable by sending a malformed record.