Avoid prematurely destroying callback_rxcon
authorAndrew Deason <adeason@sinenomine.net>
Thu, 22 Oct 2009 16:12:30 +0000 (11:12 -0500)
committerDerrick Brashear <shadow|account-1000005@unknown>
Fri, 23 Oct 2009 20:02:57 +0000 (13:02 -0700)
commitbbcfbe1a04eda9e75b1643be88cf9d4842a8aa86
tree84833b2afaaaf8a553f6065ca2d58a10cd1be8ec
parented8d83e0f6b9825503643d1ee8398b2310946dd7
Avoid prematurely destroying callback_rxcon

Currently, h_GetHost_r and removeAddress_r can destroy the
callback_rxcon of a host. Having a NULL callback_rxcon can cause
segfaults in code that does not properly check if a host has been
HOSTDELETED before trying to use it.

Although such code is incorrect and should be fixed, we can still avoid
a segfault in those situations by not destroying callback_rxcon until we
destroy the host itself. This just prevents destroying callback_rxcon in
h_GetHost_r and removeAddress_r, leaving it to h_TossStuff_r to destroy
when it destroys the host.

Change-Id: I6fd5cbb924053446689c576026f9044f78ba71be
Reviewed-on: http://gerrit.openafs.org/717
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/viced/host.c