commit 195c21ab2eb3217e9a018dd928e06c201f00a791
parent af912dba0b37e27bbd95e6ee6057289c6d9540bb
Author: default <nobody@localhost>
Date: Mon, 18 Dec 2023 09:35:22 +0100
Avoid crashing on missing 'method' or 'path' headers in httpd_connection().
Diffstat:
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/httpd.c b/httpd.c
@@ -245,8 +245,13 @@ void httpd_connection(FILE *f)
return;
}
- method = xs_dict_get(req, "method");
- q_path = xs_dup(xs_dict_get(req, "path"));
+ if (!(method = xs_dict_get(req, "method")) || !(p = xs_dict_get(req, "path"))) {
+ /* missing needed headers; discard */
+ fclose(f);
+ return;
+ }
+
+ q_path = xs_dup(p);
/* crop the q_path from leading / and the prefix */
if (xs_endswith(q_path, "/"))