uhttpd: do not dispatch pipe error events, fixes use after free for cgi and lua scripts

SVN-Revision: 32644
lede-17.01
Jo-Philipp Wich 2012-07-07 16:43:27 +00:00
parent bb1488e5e7
commit 92e2e3f567
1 changed files with 6 additions and 2 deletions

View File

@ -573,10 +573,14 @@ static void uh_pipe_cb(struct uloop_fd *u, unsigned int events)
{ {
struct client *cl = container_of(u, struct client, pipe); struct client *cl = container_of(u, struct client, pipe);
D("SRV: Client(%d) pipe(%d) readable\n", cl->fd.fd, cl->pipe.fd); if (!u->error)
{
D("SRV: Client(%d) pipe(%d) readable\n",
cl->fd.fd, cl->pipe.fd);
uh_client_cb(&cl->fd, ULOOP_WRITE); uh_client_cb(&cl->fd, ULOOP_WRITE);
} }
}
static void uh_child_cb(struct uloop_process *p, int rv) static void uh_child_cb(struct uloop_process *p, int rv)
{ {