SAP / project-foxhound

A web browser with dynamic data-flow tracking enabled in the Javascript engine and DOM, based on Mozilla Firefox (https://github.com/mozilla/gecko-dev). It can be used to identify insecure data flows or data privacy leaks in client-side web applications.
GNU General Public License v3.0
82 stars 16 forks source link

Memory leak fixes #64

Closed tmbrbr closed 2 years ago

tmbrbr commented 2 years ago

This PR aims to fix #61 in two steps:

  1. Additional sweep of String objects in the nursery to safely delete any taint instances.
  2. Introduction of SafeStringTaint class which deletes its own ranges_ pointer on destruction (StringTaint does not do this!)

There are also some other small refactorings of the StringTaint class (removing static functions which were leaking memory when returning StringTaint objects).