commit 186a1eec82f03f9e24c4095c0a31f4a10de19c88 from: Omar Polo date: Wed Jan 31 11:14:25 2024 UTC inline a goto err commit - b07d2757b848245032749fb16d7a4ab6f360d7f4 commit + 186a1eec82f03f9e24c4095c0a31f4a10de19c88 blob - 6528084bfa930cd2ef30613e9c636fd130fb0de7 blob + 92e56f67f76e65aaa37c8de91230b7ee17e21a7b --- net.c +++ net.c @@ -540,16 +540,20 @@ net_read(struct bufferevent *bev, void *d) if (!req->done_header) { header = evbuffer_readln(src, &len, EVBUFFER_EOL_CRLF_STRICT); - if (header == NULL && EVBUFFER_LENGTH(src) >= 1024) - goto err; + if (header == NULL && EVBUFFER_LENGTH(src) >= 1024) { + (*bev->errorcb)(bev, EVBUFFER_READ, bev->cbarg); + return; + } if (header == NULL) return; r = gemini_parse_reply(req, header, len); free(header); req->done_header = 1; - if (r == 0) - goto err; - else if (r < 20 || r >= 30) { + if (r == 0) { + (*bev->errorcb)(bev, EVBUFFER_READ, bev->cbarg); + return; + } + if (r < 20 || r >= 30) { close_conn(0, 0, req); return; } @@ -564,10 +568,6 @@ net_read(struct bufferevent *bev, void *d) break; net_send_ui(IMSG_BUF, req->id, buf, len); } - return; - -err: - (*bev->errorcb)(bev, EVBUFFER_READ, bev->cbarg); } /* called after a write has been done */