[BUG] http: redirects were broken by chunk changes
Redirects used to initialize a chunk whose size was not set (0).
Also, the return code of chunk_strcpy() is 1 in case of success.
diff --git a/src/proto_http.c b/src/proto_http.c
index 5cc0f23..e1c4414 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -2702,7 +2702,7 @@
ret = !ret;
if (ret) {
- struct chunk rdr = { trash, 0 };
+ struct chunk rdr = { .str = trash, .size = sizeof(trash), .len = 0 };
const char *msg_fmt;
/* build redirect message */
@@ -2719,7 +2719,7 @@
break;
}
- if (unlikely(chunk_strcpy(&rdr, msg_fmt)))
+ if (unlikely(!chunk_strcpy(&rdr, msg_fmt)))
goto return_bad_req;
switch(rule->type) {