From d6c2e8c9162452e5f192bdd92c7f241499c7117e Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 8 May 2012 08:54:15 +0200 Subject: [PATCH] BUG/MINOR: http: error snapshots are wrong if buffer wraps Commit 81f2fb added support for wrapping buffer captures, but unfortunately the code used to perform two memcpy() over the same destination, causing a loss of the start of the buffer rendering some error snapshots unusable. This bug is present in 1.4 too and must be backported. --- src/proto_http.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_http.c b/src/proto_http.c index 2c1ff566c..922ff61ab 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -7227,7 +7227,7 @@ void http_capture_bad_message(struct error_snapshot *es, struct session *s, es->len = bi_end(buf) - (buf->p + msg->som) + buf->size; memcpy(es->buf, buf->p + msg->som, MIN(len1, sizeof(es->buf))); if (es->len > len1 && len1 < sizeof(es->buf)) - memcpy(es->buf, buf->data, MIN(es->len, sizeof(es->buf)) - len1); + memcpy(es->buf + len1, buf->data, MIN(es->len, sizeof(es->buf)) - len1); } else { es->len = bi_end(buf) - (buf->p + msg->som);