wultra / powerauth-mobile-sdk

PowerAuth Mobile SDK for adds capability for authentication and transaction signing into the mobile apps (ios, watchos, android).
https://www.wultra.com/product/wultra-mobile-security-suite/
Apache License 2.0
33 stars 13 forks source link

Crash in HttpClientTask #579

Closed kober32 closed 3 months ago

kober32 commented 5 months ago

Reported by our client.

It looks like the connection parameter in logRespose might be null here:

https://github.com/wultra/powerauth-mobile-sdk/blob/develop/proj-android/PowerAuthLibrary/src/main/java/io/getlime/security/powerauth/networking/client/HttpClientTask.java#L308

Stacktrace:

java.lang.RuntimeException: An error occurred while executing doInBackground()
    at android.os.AsyncTask$4.done(AsyncTask.java:415)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:381)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:250)
    at java.util.concurrent.FutureTask.run(FutureTask.java:269)
    at io.getlime.security.powerauth.sdk.impl.DefaultExecutorProvider$SerialExecutor$1.run(DefaultExecutorProvider.java:68)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
    at java.lang.Thread.run(Thread.java:1012)
   Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.net.URL java.net.HttpURLConnection.getURL()' on a null object reference
    at io.getlime.security.powerauth.networking.client.HttpClientTask.logResponse(HttpClientTask.java:315)
    at io.getlime.security.powerauth.networking.client.HttpClientTask.doInBackground(HttpClientTask.java:215)
    at android.os.AsyncTask$3.call(AsyncTask.java:394)
    at java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.getlime.security.powerauth.sdk.impl.DefaultExecutorProvider$SerialExecutor$1.run(DefaultExecutorProvider.java:68) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) 
    at java.lang.Thread.run(Thread.java:1012) 
hvge commented 5 months ago

This may happen when the failure occurs very early in the function. The fix should be backported also to release/1.7.x branch.