Hi,

From docs/ROADMAP

* Memory leak - string_to_cstring returns a malloced string, which isn't freed everywhere

A quick grep through the src folder found a few cases like this. I may have missed some, but this patch fixes those I spotted. Compiles, passes all tests (apart from dynclasses, which are still to fix on Win32).

Note - yes, I know many of the strings are passed to internal_excpection, but IIRC many of those will be becoming real_exceptions in the future, so it's worth free'ing 'em. :-)

Hope this helps,

Jonathan

P.S. I can give about a day a week of development time to Parrot at the moment, and hopefully might get to use Parrot in my dissertation project if folks at uni are happy with my ideas, which means I'd be using it more extensively for the next year or so. I'm looking at the TODO list for things to pick off at the moment (easy ones first - I haven't really looked at Parrot for about six months and I never knew the code base amazingly well anyway); suggestions welcome.

Attachment: cstringleaks.diff
Description: Binary data

Reply via email to