Skip to content
Snippets Groups Projects
Commit a9093d2b authored by Enrico Guiraud's avatar Enrico Guiraud Committed by Danilo Piparo
Browse files

[RDF] Fix ROOT-9898

Before this patch: he destructor of a derived node type destroyed
its shared_ptr to the previous node. The destructor of the base node
type, called _afterwards_, called fLoopManager->Deregister(this).
In the special case in which the previous node was precisely
RLoopManager and no other RInterfaces or nodes held a shared_ptr to
it, the RLoopManager was being destructed (in the dtor of the derived class)
just before that same node called Deregister on it (in the dtor of the
base class).

After this patch: the derived node types are responsible for calling
Deregister, before destroying the shared_ptr to previous node.

This fixes the use after delete reported in ROOT-9898.
parent 22bfc086
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment