diff --git a/src/server/mux.c b/src/server/mux.c index 69423bd6b807fc631ec43b269800540960e37064..cf6e8d2d1257e3c6827dd791f5c7c47a5a43c24b 100644 --- a/src/server/mux.c +++ b/src/server/mux.c @@ -1,5 +1,5 @@ /* - * $Id: mux.c,v 0.5 1991/09/15 10:30:47 linus Exp $ + * $Id: mux.c,v 0.6 1991/09/21 12:13:08 ceder Exp $ * Copyright (C) 1991 Lysator Academic Computer Association. * * This file is part of the LysKOM server. @@ -26,7 +26,7 @@ ** mux.c */ -static char *rcsid = "$Id: mux.c,v 0.5 1991/09/15 10:30:47 linus Exp $"; +static char *rcsid = "$Id: mux.c,v 0.6 1991/09/21 12:13:08 ceder Exp $"; #include <stddef.h> @@ -103,6 +103,7 @@ mux_destruct(Mux *mp) mux_free_parsed(mp); s_clear(&mp->parse.unparsed); + sfree(mp->client_v); sfree(mp); } @@ -409,6 +410,12 @@ mux_close(Connection * cp) { case MUX_TYPE_CLIENT: isc_close(mp->scb); + + if (mp->client_c != 1) + restart_kom("ERROR: mux_close(): client_c == %d\n", mp->client_c); + + isc_freemsg(mp->client_v[0].outmsg); + mux_destruct(mp); cp->mux = NULL; break;