summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-12-22 16:56:22 -0500
committerJune McEnroe <june@causal.agency>2019-12-22 16:56:22 -0500
commitba7e76f2cee6e1ee6c7eb1709370a1fbddea50a1 (patch)
treea7e3db21076fd234af2ff37739a81d741631563c
parentRevert "Exit when server gets POLLHUP" (diff)
downloadpounce-ba7e76f2cee6e1ee6c7eb1709370a1fbddea50a1.tar.gz
pounce-ba7e76f2cee6e1ee6c7eb1709370a1fbddea50a1.zip
Exit on zero-length server read
Diffstat (limited to '')
-rw-r--r--server.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/server.c b/server.c
index 80d34df..ce5ae87 100644
--- a/server.c
+++ b/server.c
@@ -130,6 +130,7 @@ void serverRecv(void) {
 	ssize_t read = tls_read(client, &buf[len], sizeof(buf) - len);
 	if (read == TLS_WANT_POLLIN || read == TLS_WANT_POLLOUT) return;
 	if (read < 0) errx(EX_IOERR, "server tls_read: %s", tls_error(client));
+	if (!read) errx(EX_PROTOCOL, "server closed connection");
 	len += read;
 
 	char *crlf;
coding in titleJune McEnroe Because apparently it's fine for servers to respond with Content-Encoding you didn't ask for, and curl won't decode it if you didn't ask for it. 2019-09-08Set title User-AgentJune McEnroe Some things don't like you if you don't send one. 2019-09-07Add -x flag to titleJune McEnroe 2019-09-07Ignore SIGPIPE in relayJune McEnroe Allows restarting consumers safely. 2019-09-07Add A Memory Called EmpireJune McEnroe 2019-09-05Handle lack of Content-TypeJune McEnroe 2019-09-05Use CURLINFO_CONTENT_TYPEJune McEnroe Oops, didn't see this. 2019-09-05Decode entities in titlesJune McEnroe 2019-09-05Print title as soon as it's availableJune McEnroe 2019-09-05Use CURL_PREFIX to set flagsJune McEnroe 2019-09-05Add titleJune McEnroe 2019-09-04Add Avorter n'est pas tuerJune McEnroe 2019-08-29Unset executable on shell scriptsJune McEnroe 2019-08-29Add long-missing setopt to bin.7June McEnroe 2019-08-29Add editJune McEnroe