From 7c427faee432c049aec99ee716dc5c2c0af41f48 Mon Sep 17 00:00:00 2001 From: Reyk Floeter Date: Sun, 13 Jul 2014 18:37:22 +0200 Subject: free clt_file before reusing it --- server_file.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server_file.c b/server_file.c index de3be92..ff3f565 100644 --- a/server_file.c +++ b/server_file.c @@ -1,4 +1,4 @@ -/* $OpenBSD: server_file.c,v 1.1 2014/07/12 23:34:54 reyk Exp $ */ +/* $OpenBSD: server_file.c,v 1.3 2014/07/13 15:07:50 reyk Exp $ */ /* * Copyright (c) 2006 - 2014 Reyk Floeter @@ -124,6 +124,9 @@ server_response(struct httpd *env, struct client *clt) goto fail; clt->clt_fd = fd; + clt->clt_persist = 0; + if (clt->clt_file != NULL) + bufferevent_free(clt->clt_file); clt->clt_file = bufferevent_new(clt->clt_fd, server_read, server_write, server_error, clt); if (clt->clt_file == NULL) { @@ -133,7 +136,7 @@ server_response(struct httpd *env, struct client *clt) bufferevent_settimeout(clt->clt_file, srv->srv_conf.timeout.tv_sec, srv->srv_conf.timeout.tv_sec); - bufferevent_enable(clt->clt_file, EV_READ|EV_WRITE); + bufferevent_enable(clt->clt_file, EV_READ); return (0); fail: -- cgit v1.2.3-54-g00ecf