Skip to content

Commit 8518088

Browse files
sschuberthgitster
authored andcommitted
blame.c: Properly initialize strbuf after calling textconv_object(), again
2564aa4 started to initialize buf.alloc, but that should actually be one more byte than the string length due to the trailing \0. Also, do not modify buf.alloc out of the strbuf code. Use the existing strbuf_attach instead. Signed-off-by: Sebastian Schuberth <[email protected]> Reviewed-by: Jeff King <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 55e7c0a commit 8518088

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

builtin/blame.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2077,6 +2077,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,
20772077
if (!contents_from || strcmp("-", contents_from)) {
20782078
struct stat st;
20792079
const char *read_from;
2080+
char *buf_ptr;
20802081
unsigned long buf_len;
20812082

20822083
if (contents_from) {
@@ -2094,10 +2095,8 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,
20942095
switch (st.st_mode & S_IFMT) {
20952096
case S_IFREG:
20962097
if (DIFF_OPT_TST(opt, ALLOW_TEXTCONV) &&
2097-
textconv_object(read_from, mode, null_sha1, &buf.buf, &buf_len)) {
2098-
buf.alloc = buf_len;
2099-
buf.len = buf_len;
2100-
}
2098+
textconv_object(read_from, mode, null_sha1, &buf_ptr, &buf_len))
2099+
strbuf_attach(&buf, buf_ptr, buf_len, buf_len + 1);
21012100
else if (strbuf_read_file(&buf, read_from, st.st_size) != st.st_size)
21022101
die_errno("cannot open or read '%s'", read_from);
21032102
break;

0 commit comments

Comments
 (0)