[MINOR] frontend: improve accept-proxy header parsing
The accept-proxy now automatically fails as soon as a character does not
match the expected syntax.
diff --git a/src/frontend.c b/src/frontend.c
index 9e7be10..348e999 100644
--- a/src/frontend.c
+++ b/src/frontend.c
@@ -287,13 +287,17 @@
if (req->flags & (BF_READ_ERROR|BF_READ_TIMEOUT))
goto fail;
- if (req->l < 18) /* shortest possible line */
+ len = MIN(req->l, 6);
+ if (!len)
goto missing;
- /* Decode a possible proxy request */
- if (memcmp(line, "PROXY ", 6) != 0)
+ /* Decode a possible proxy request, fail early if it does not match */
+ if (strncmp(line, "PROXY ", len) != 0)
goto fail;
+
line += 6;
+ if (req->l < 18) /* shortest possible line */
+ goto missing;
if (memcmp(line, "TCP4 ", 5) != 0)
goto fail;