X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/yaid/blobdiff_plain/bc23d2c797bd26d221c3668c48bb737108913cab..152ca59daf3abc63081bc5da9748d86cbb75c1af:/yaid.c diff --git a/yaid.c b/yaid.c index a9793a0..cc3bb47 100644 --- a/yaid.c +++ b/yaid.c @@ -365,8 +365,8 @@ static void cancel_proxy(struct proxy *px) selbuf_destroy(&px->b); free_writebuf(&px->wb); } - selbuf_enable(&px->c->b); px->c->px = 0; + selbuf_enable(&px->c->b); xfree(px); } @@ -633,6 +633,7 @@ static void client_line(char *line, size_t len, void *p) int i, t; /* If the connection has closed, then tidy stuff away. */ + c->q.s[R].addr = c->raddr; c->q.s[L].port = c->q.s[R].port = 0; if (!line) { disconnect_client(c); @@ -658,7 +659,6 @@ static void client_line(char *line, size_t len, void *p) skipws(&q); if (*q) goto bad; /* Identify the connection. Act on the result. */ - c->q.s[R].addr = c->raddr; identify(&c->q); switch (c->q.resp) {