commit da0821b6cb54a85bcbe76cdf0a9a16f8f1a14619 from: Omar Polo date: Sat Jun 24 20:19:33 2023 UTC avoid gratious strlen; evbuffer_readln returns the length commit - a452496a965aa429f72d76e0929a832118c12ffa commit + da0821b6cb54a85bcbe76cdf0a9a16f8f1a14619 blob - 4f0f55a79d8a77d15cf029cba1e104f9db1e3622 blob + 0a0b3e341082f692a6cd069acda42f69f3d4ce32 --- server.c +++ server.c @@ -1035,7 +1035,6 @@ client_read(struct bufferevent *bev, void *d) struct evbuffer *src = EVBUFFER_INPUT(bev); const char *parse_err = "invalid request"; char decoded[DOMAIN_NAME_LEN]; - size_t len; bufferevent_disable(bev, EVBUFFER_READ); @@ -1054,13 +1053,12 @@ client_read(struct bufferevent *bev, void *d) return; } - c->req = evbuffer_readln(src, &len, EVBUFFER_EOL_CRLF_STRICT); + c->req = evbuffer_readln(src, &c->reqlen, EVBUFFER_EOL_CRLF_STRICT); if (c->req == NULL) { /* not enough data yet. */ bufferevent_enable(bev, EVBUFFER_READ); return; } - c->reqlen = strlen(c->req); if (c->reqlen > 1024+2) { log_debug("URL too long"); start_reply(c, BAD_REQUEST, "bad request");