STABLE14-viced-h_Enumerate_r-fix-
20060301
In h_Enumerate_r it is possible that the host may be released by the
called procedure. Therefore, we must preserve the pointer to host->next
before the call and hold the host it points to in order to ensure that
it does not disappear out from under us. This ensures that although
the H_LOCK can be dropped during the procedure and the host list can
be rearranged we won't miss more than a handful of hosts during the
enumeration.
(cherry picked from commit
36a8e29045adfcf5d3c144b0ff0bc9d1398d11b0)