From b92902814f796bb1dc24bab2179000caceb5b151 Mon Sep 17 00:00:00 2001 From: Thierry FOURNIER Date: Tue, 10 Mar 2015 01:55:01 +0100 Subject: [PATCH 5/9] BUG/MEDIUM: buffer: one byte miss in buffer free space check Space is not avalaible only if the end of the data inserted is strictly greater than the end of buffer. If these two value are equal, the space is avamaible. (cherry picked from commit fdda6777bffb4f933569c609ba54e24ea5eabf29) --- src/buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/buffer.c b/src/buffer.c index 9037dd3..8d2644e 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -46,7 +46,7 @@ int buffer_replace2(struct buffer *b, char *pos, char *end, const char *str, int delta = len - (end - pos); - if (bi_end(b) + delta >= b->data + b->size) + if (bi_end(b) + delta > b->data + b->size) return 0; /* no space left */ if (buffer_not_empty(b) && -- 2.0.5