On Tue, 2011-12-13 at 10:36 -0500, Stephen Gallagher wrote:
On Tue, 2011-12-13 at 10:32 -0500, Simo Sorce wrote:
> > Looking at this closely, I think what probably happened is that the
> > child died while waiting for the ping_check to time out, so that when it
> > finally returned, the memory for the mt_svc object had been freed.
> > Because we then use talloc_get_type() to retrieve that memory, it
> > detects that it's invalid and simply returns NULL (which we then
> > dereference and crash on).
>
> maybe we should use talloc_get_type_abort() here ...
Nack. I really, really don't want it to be possible for the monitor to
crash.
In this case it makes no difference. If you reference freed memory or
'random' memory you will end up crashing as well.
The point is that we should never get to a point where talloc_get_type()
fails and return NULL, unless it is legal to pass NULL in as input.
I am all for not having the monitor crash of course.
Simo.
--
Simo Sorce * Red Hat, Inc * New York