The MIME header handling started using string buffers in d50b69b868d (log_write_email_headers: use strbufs, 2018-05-18). The subject buffer is given to `extra_headers` without that variable taking ownership; the commit “punts on that ownership” (in general, not just for this buffer). In an upcoming commit we will first assign `extra_headers` to the owned pointer from another `strbuf`. In turn we need this variable to always contain an owned pointer so that we can free it in the calling function. Signed-off-by: Kristoffer Haugsbakk <code@xxxxxxxxxxxxxxx> --- log-tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log-tree.c b/log-tree.c index 337b9334cdb..2eabd19962b 100644 --- a/log-tree.c +++ b/log-tree.c @@ -519,7 +519,7 @@ void log_write_email_headers(struct rev_info *opt, struct commit *commit, extra_headers ? extra_headers : "", mime_boundary_leader, opt->mime_boundary, mime_boundary_leader, opt->mime_boundary); - extra_headers = subject_buffer.buf; + extra_headers = strbuf_detach(&subject_buffer, NULL); if (opt->numbered_files) strbuf_addf(&filename, "%d", opt->nr); -- 2.44.0.169.gd259cac85a8