commit 58ba20cd5353626db13092dc3d817c7cb3da925f from: Omar Polo date: Thu Mar 18 08:02:35 2021 UTC fmt + avoid possible errors commit - d2742f9962342e99d192bf8173c4a1dd9bf7f82d commit + 58ba20cd5353626db13092dc3d817c7cb3da925f blob - a367cc72cfcdbe59980c8a24ad5c708bc7067ea7 blob + f38e2b65127156a10b68decb45a475b9229e5d58 --- gemini.c +++ gemini.c @@ -457,7 +457,6 @@ read_reply(int fd, short ev, void *d) default: req->off += r; - /* TODO: really watch for \r\n not \n alone */ if (memmem(req->buf, req->off, "\r\n", 2) != NULL) parse_reply(req); else if (req->off == sizeof(req->buf)) @@ -500,7 +499,8 @@ parse_reply(struct req *req) if (code != 20) close_conn(0, 0, req); - advance_buf(req, len+1); /* skip \n too */ + else + advance_buf(req, len+1); /* skip \n too */ return; @@ -572,6 +572,7 @@ handle_get(struct imsg *imsg, size_t datalen) if ((req->fd = blocking_conn_towards(&req->url, &err)) == -1) { close_with_err(req, err); free(err); + return; } setup_tls(req); }