Commit Diff


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");