gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-dev] pending memory corruptions due to intrusive_ptr


From: strk
Subject: [Gnash-dev] pending memory corruptions due to intrusive_ptr
Date: Thu, 29 May 2008 17:42:43 +0200

So it seems a lot of memory-corrupting conditions exist
with our current use of intrusive_ptr:

 http://savannah.gnu.org/bugs/index.php?23364

Problem is that in order to avoid circular references
by ref-counted objects, we have characters in the 
"Dictionary" not store a reference to the container
by intrusive_ptr, but still we do keep the reference
which is used for different things.

When top-level movie definitions are dropped, we end
up with these references pointing to arbitrary
memory, so possibly calling arbitrary pieces of code
(we probably never write there).
An example is sprite_definition.h.

Using intrusive_ptr would be safer, but would never
release any loaded movie.

This issue only shows up since we limited the MovieLibrary
to a given size, as before we never released movie definitions
anyway.

NOTE that the issue is in 0.8.3 too, and can show up every
time the MovieLibrary limit is exceeded (8 by default, changeable
by user configuration).

So we need a short-term and long-term plan to fix that.

For short-term (0.8.3), I guess disabling the MovieLibrary limit
would do. What do you think ?

--strk; 

 ()   ASCII Ribbon Campaign
 /\   Keep it simple! 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]