summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-10-24 18:18:32 -0400
committerJune McEnroe <june@causal.agency>2019-10-24 18:18:32 -0400
commit9380231e0ef0398ffb2ad2a6d455ded9fd40e73f (patch)
tree186d54208299dc88b557088765be48fe75b73530
parentRegister readers by client usernames (diff)
downloadpounce-9380231e0ef0398ffb2ad2a6d455ded9fd40e73f.tar.gz
pounce-9380231e0ef0398ffb2ad2a6d455ded9fd40e73f.zip
Zero entire Client struct
Does zeroing that extra 4K really matter? I'd rather not have
uninitialized reads.
-rw-r--r--client.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/client.c b/client.c
index eaa8555..4bb1f54 100644
--- a/client.c
+++ b/client.c
@@ -46,15 +46,10 @@ struct Client {
 };
 
 struct Client *clientAlloc(struct tls *tls) {
-	struct Client *client = malloc(sizeof(*client));
-	if (!client) err(EX_OSERR, "malloc");
-
-	client->error = false;
+	struct Client *client = calloc(1, sizeof(*client));
+	if (!client) err(EX_OSERR, "calloc");
 	client->tls = tls;
 	client->need = NeedNick | NeedUser | (clientPass ? NeedPass : 0);
-	client->serverTime = false;
-	client->len = 0;
-
 	return client;
 }
 
@@ -185,12 +180,7 @@ static const struct {
 
 static void clientParse(struct Client *client, char *line) {
 	struct Message msg = parse(line);
-	if (!msg.cmd) {
-		// FIXME: Identify client in message.
-		warnx("no command");
-		client->error = true;
-		return;
-	}
+	if (!msg.cmd) return;
 	for (size_t i = 0; i < ARRAY_LEN(Handlers); ++i) {
 		if (strcmp(msg.cmd, Handlers[i].cmd)) continue;
 		Handlers[i].fn(client, msg);
/td>Add two Kim Petras songsJune McEnroe 2019-10-02Update neovim 0.4.2June McEnroe Finally a release with my man mode fix... Meanwhile neovim itself has probably gotten worse. 2019-10-02Claim to be curl(1) in titleJune McEnroe IMDB serves a page to our dumb User-Agent whose <title> is past the 8K boundary but serves something normal to curl(1). 2019-10-02Add The Red Threads of FortuneJune McEnroe 2019-09-28Add The Black Tides of HeavenJune McEnroe 2019-09-27Fail on HTTP failure status in titleJune McEnroe 2019-09-23Add Trail of LightningJune McEnroe 2019-09-22Revert "Enable cookies in title"June McEnroe This reverts commit 279111dda15dd9170e11b9688eb973f2af2e6300. 2019-09-20Enable cookies in titleJune McEnroe Perhaps this will make it less suspicious to Google. Who knows. 2019-09-16Use sensitivity aliases in TF2June McEnroe 2019-09-16Add The Just CityJune McEnroe 2019-09-12Only GET the final redirect locationJune McEnroe 2019-09-12Consume entire bodyJune McEnroe Aborting the request and leaving data around may be causing intermittent errors. Just discard the rest of the data. 2019-09-10Add title -v flagJune McEnroe 2019-09-10Use curl error bufferJune McEnroe 2019-09-10Set Accept-Encoding 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