From 5c557d14d54a6d08c8c1624484cd7df2ed3c667e Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 13 Mar 2016 08:17:02 +0100 Subject: [PATCH] CLEANUP: http: fix a build warning introduced by a recent fix Cyril reported that recent commit 320ec2a ("BUG/MEDIUM: chunks: always reject negative-length chunks") introduced a build warning because gcc cannot guess that we can't fall into the case where the auth_method chunk is not initialized. This patch addresses it, though for the long term it would be best if chunk_initlen() would always initialize the result. This fix must be backported to 1.6 and 1.5 where the aforementionned fix was already backported. --- src/proto_http.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/proto_http.c b/src/proto_http.c index 8b5caad85..b7654a67a 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -1585,11 +1585,12 @@ get_http_auth(struct stream *s) h = ctx.line + ctx.val; p = memchr(h, ' ', ctx.vlen); - if (!p || p == h) + len = p - h; + if (!p || len <= 0) return 0; - chunk_initlen(&auth_method, h, 0, p-h); - chunk_initlen(&txn->auth.method_data, p+1, 0, ctx.vlen-(p-h)-1); + chunk_initlen(&auth_method, h, 0, len); + chunk_initlen(&txn->auth.method_data, p + 1, 0, ctx.vlen - len - 1); if (!strncasecmp("Basic", auth_method.str, auth_method.len)) {