diff --git a/src/server/membership.c b/src/server/membership.c index dc4f9b26bbf02de457d24db3774f737fd273d151..85dfc0af895873cf93768434dff131ba740ac3e9 100644 --- a/src/server/membership.c +++ b/src/server/membership.c @@ -1,5 +1,5 @@ /* - * $Id: membership.c,v 0.85 2003/01/12 19:56:20 ceder Exp $ + * $Id: membership.c,v 0.86 2003/03/23 09:45:10 ceder Exp $ * Copyright (C) 1991-2002 Lysator Academic Computer Association. * * This file is part of the LysKOM server. @@ -1437,10 +1437,13 @@ read_ranges_precondition(Membership *m, } *save = *m; - save->read_ranges = smalloc(m->no_of_read_ranges - * sizeof(save->read_ranges[0])); - memcpy(save->read_ranges, m->read_ranges, - m->no_of_read_ranges * sizeof(save->read_ranges[0])); + if (m->read_ranges != NULL) + { + save->read_ranges = smalloc(m->no_of_read_ranges + * sizeof(save->read_ranges[0])); + memcpy(save->read_ranges, m->read_ranges, + m->no_of_read_ranges * sizeof(save->read_ranges[0])); + } } static int