libsignal-protocol-java icon indicating copy to clipboard operation
libsignal-protocol-java copied to clipboard

Curve.decodePoint throws OOBE when input byte array isn't proper size

Open mcginty opened this issue 10 years ago • 0 comments

Caught while debugging device provisioning problems, seems like it should throw some kind of decoding exception instead? Full log:

        AndroidRuntime  E  FATAL EXCEPTION: AsyncTask #2
                        E  Process: org.thoughtcrime.securesms, PID: 19613
                        E  java.lang.RuntimeException: An error occured while executing doInBackground()
                        E      at android.os.AsyncTask$3.done(AsyncTask.java:300)
                        E      at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
                        E      at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
                        E      at java.util.concurrent.FutureTask.run(FutureTask.java:242)
                        E      at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
                        E      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                        E      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                        E      at java.lang.Thread.run(Thread.java:841)
                        E  Caused by: java.lang.ArrayIndexOutOfBoundsException: src.length=30 srcPos=1 dst.length=32 dstPos=0 length=32
                        E      at java.lang.System.arraycopy(Native Method)
                        E      at org.whispersystems.libaxolotl.ecc.Curve25519.decodePoint(Curve25519.java:71)
                        E      at org.whispersystems.libaxolotl.ecc.Curve.decodePoint(Curve.java:35)
                        E      at org.thoughtcrime.securesms.DeviceProvisioningActivity$3.doInBackground(DeviceProvisioningActivity.java:110)
                        E      at org.thoughtcrime.securesms.DeviceProvisioningActivity$3.doInBackground(DeviceProvisioningActivity.java:96)
                        E      at android.os.AsyncTask$2.call(AsyncTask.java:288)
                        E      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                        E      ... 4 more

mcginty avatar Feb 11 '15 20:02 mcginty