Skip to content

relese: freeRASP 4.5.1#144

Open
tompsota wants to merge 2 commits intomasterfrom
rc/4.5.1
Open

relese: freeRASP 4.5.1#144
tompsota wants to merge 2 commits intomasterfrom
rc/4.5.1

Conversation

@tompsota
Copy link
Member

@tompsota tompsota commented Mar 16, 2026

What's new

Describe the PR shortly

PR checklist

In-app checks:

  • callbacks are received
  • dev/prod switch works
  • README.md is updated (if applicable)
  • expo plugin is updated (if applicable)
  • example app is working

Pre-release checks:

  • CHANGELOG.md is updated
  • package.json version is increased
  • release label is applied on PR

To be checked by maintainers:

  • freeRASP logs are received
  • sdkVersion property in logs is correct
  • sdkPlatform property in logs is correct

Resolved issues

list of issues resolved by this PR
resolves #143

@tompsota tompsota added the release Create release after merging this PR label Mar 16, 2026
Copy link
Contributor

@martinzigrai martinzigrai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, but I left a few comments 🦘

}

override fun onHostDestroy() {
backgroundHandlerThread.quitSafely()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ThreatDispatcher.unregisterListener()
ExecutionStateDispatcher.unregisterListener()
PluginThreatHandler.unregisterSDKListener(reactContext)
backgroundHandlerThread.quitSafely()

import com.freeraspreactnative.utils.getStringThrowing
import com.freeraspreactnative.utils.toEncodedWritableArray

class FreeraspReactNativeModule(private val reactContext: ReactApplicationContext) :
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this change introduce a thread leak? Each module instance gets its own thread that is properly stopped in onHostDestroy(). Previously this was a static field, so quitSafely() in onHostDestroy() killed the thread permanently for the whole process. If the bridge restarted, the new module instance would still reference the same dead thread and any background work (e.g. malware icon encoding) would silently do nothing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Create release after merging this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Crash on physical device (Android 10) using useFreeRasp – lateinit property threatDispatcher has not been initialized

2 participants