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

From: Junio C Hamano <[email-masked]>
Date: Tue, 26 Apr 2011 10:18:30 -0700

Nguyễn Thái Ngọc Duy  <[email-masked]> writes:

> 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);

Wait.  Isn't _setlen() meant to be used only to truncate at the length,
and isn't that clearly documented?

I don't think we need this patch at all.