From ca6ef506610e9d78f99b7ab2095ce0f8a47e18df Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Mon, 26 Feb 2018 10:51:28 +0100 Subject: [PATCH] BUG/MEDIUM: buffer: Fix the wrapping case in bi_putblk When the block of data need to be split to support the wrapping, the start of the second block of data was wrong. We must be sure to skup data copied during the first memcpy. This patch must be backported to 1.8. --- include/common/buffer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/common/buffer.h b/include/common/buffer.h index 4adfdc647..7ac98bf0d 100644 --- a/include/common/buffer.h +++ b/include/common/buffer.h @@ -577,7 +577,7 @@ static inline int bi_putblk(struct buffer *b, const char *blk, int len) memcpy(bi_end(b), blk, half); if (len > half) - memcpy(b_ptr(b, b->i + half), blk, len - half); + memcpy(b_ptr(b, b->i + half), blk + half, len - half); b->i += len; return len; }