Re: [PATCH] blame.c: Properly initialize strbuf after calling textconv_object(), again
Sebastian Schuberth <sschuberth@gmail.com> writes:
> 2564aa4 started to initialize buf.alloc, but that should actually be one
> more byte than the string length due to the trailing \0.
Even when the conversion result is a zero-length string?
> ---
Show 16 quoted lines
> builtin/blame.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/builtin/blame.c b/builtin/blame.c
> index 86c0537..45f0dcc 100644
> --- a/builtin/blame.c
> +++ b/builtin/blame.c
> @@ -2114,7 +2114,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,
> case S_IFREG:
> if (DIFF_OPT_TST(opt, ALLOW_TEXTCONV) &&
> textconv_object(read_from, mode, null_sha1, &buf.buf, &buf_len)) {
> - buf.alloc = buf_len;
> + buf.alloc = buf_len + 1;
> buf.len = buf_len;
> }
> else if (strbuf_read_file(&buf, read_from, st.st_size) != st.st_size)