commit 17493a486c9e6325c3aae74920ddb10958ae2771 from: Omar Polo date: Sun Nov 27 10:34:30 2022 UTC return after FCGI_END_REQUEST this fixes a possible crash if `client_write' closes the connection, because client_close can end up freeing the fastcgi bufferevent while we're looping. We don't support fastcgi multiplexing, so once we get an END_REQUEST there's nothing more to do. Prodded into looking here after a bug report from Allen Sobot, thanks! commit - eb4f96c10afcf8806cbbff3087aa0850e3fc9905 commit + 17493a486c9e6325c3aae74920ddb10958ae2771 blob - 33df816bd4918ff6b57ec6007d2e19a365638ab2 blob + 4c71d8fa29d684f5d3e1e2e87ad6a972232e6875 --- fcgi.c +++ fcgi.c @@ -290,7 +290,7 @@ fcgi_read(struct bufferevent *bev, void *d) /* TODO: do something with the status? */ c->type = REQUEST_DONE; client_write(c->bev, c); - break; + return; case FCGI_STDERR: /* discard stderr (for now) */