This is similar to the previous commit where we corrected a use of `strbuf_attach()` to not pass in the same value for `len` and `alloc`. The sites addressed in this commit all use `strlen()`, which makes it obvious that we're working with NUL-terminated strings and that we can safely switch to providing `len + 1` for `alloc`. Signed-off-by: Martin Ågren <martin.agren@xxxxxxxxx> --- mailinfo.c | 2 +- path.c | 2 +- refs/files-backend.c | 2 +- trailer.c | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/mailinfo.c b/mailinfo.c index 742fa376ab..af5d2cad31 100644 --- a/mailinfo.c +++ b/mailinfo.c @@ -459,7 +459,7 @@ static int convert_to_utf8(struct mailinfo *mi, return error("cannot convert from %s to %s", charset, mi->metainfo_charset); } - strbuf_attach(line, out, strlen(out), strlen(out)); + strbuf_attach(line, out, strlen(out), strlen(out) + 1); return 0; } diff --git a/path.c b/path.c index 9bd717c307..5745a71d36 100644 --- a/path.c +++ b/path.c @@ -816,7 +816,7 @@ const char *enter_repo(const char *path, int strict) if (!newpath) return NULL; strbuf_attach(&used_path, newpath, strlen(newpath), - strlen(newpath)); + strlen(newpath) + 1); } for (i = 0; suffix[i]; i++) { struct stat st; diff --git a/refs/files-backend.c b/refs/files-backend.c index 561c33ac8a..76bb2ef490 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -1514,7 +1514,7 @@ static int commit_ref(struct ref_lock *lock) size_t len = strlen(path); struct strbuf sb_path = STRBUF_INIT; - strbuf_attach(&sb_path, path, len, len); + strbuf_attach(&sb_path, path, len, len + 1); /* * If this fails, commit_lock_file() will also fail diff --git a/trailer.c b/trailer.c index 0c414f2fed..135f71aef1 100644 --- a/trailer.c +++ b/trailer.c @@ -1095,7 +1095,8 @@ void trailer_info_get(struct trailer_info *info, const char *str, for (ptr = trailer_lines; *ptr; ptr++) { if (last && isspace((*ptr)->buf[0])) { struct strbuf sb = STRBUF_INIT; - strbuf_attach(&sb, *last, strlen(*last), strlen(*last)); + strbuf_attach(&sb, *last, strlen(*last), + strlen(*last) + 1); strbuf_addbuf(&sb, *ptr); *last = strbuf_detach(&sb, NULL); continue; -- 2.26.1