Subject: [PATCH] strbuf: allocate enough space when strbuf_setlen() is called first time

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Tue, 26 Apr 2011 19:24:20 +0700

strbuf_grow(sb, 0) may allocate less than requested len and violate the
next assertion.

Signed-off-by: Nguyễn Thái Ngọc Duy <[email-masked]>
---
 strbuf.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/strbuf.h b/strbuf.h
index 07060ce..ab213da 100644
--- a/strbuf.h
+++ b/strbuf.h
@@ -34,7 +34,7 @@ extern void strbuf_grow(struct strbuf *, size_t);
 
 static inline void strbuf_setlen(struct strbuf *sb, size_t len) {
 	if (!sb->alloc)
-		strbuf_grow(sb, 0);
+		strbuf_grow(sb, len);
 	assert(len < sb->alloc);
 	sb->len = len;
 	sb->buf[len] = '\0';
-- 
1.7.4.74.g639db