Commit Diff


commit - fef06f06ac4779731bb8e293248eae1883a7ed1b
commit + 2339a71178cc4a29dd2eada458c84b6092b056ce
blob - 0eebe46f41081f6afb9a60cea7a12493a1995e80
blob + 9ab4f134aab3e73b0d4da0645b4ec987012a51d8
--- server.c
+++ server.c
@@ -907,15 +907,16 @@ open_dir(struct client *c)
 static void
 redirect_canonical_dir(struct client *c)
 {
+	char buf[GEMINI_URL_LEN];
 	int r;
 
-	r = snprintf(c->sbuf, sizeof(c->sbuf), "/%s/", c->iri.path);
-	if (r < 0 || (size_t)r >= sizeof(c->sbuf)) {
+	r = snprintf(buf, sizeof(buf), "/%s/", c->iri.path);
+	if (r < 0 || (size_t)r >= sizeof(buf)) {
 		start_reply(c, TEMP_FAILURE, "internal server error");
 		return;
 	}
 
-	start_reply(c, TEMP_REDIRECT, c->sbuf);
+	start_reply(c, TEMP_REDIRECT, buf);
 }
 
 static void