fix for more minor memory leaks
[gitweb.git] / builtin-branch.c
index 5f5c1823cb27cf1173c87f43bd0d2de95a06bf46..3da8b55b8f49c52794d337a026a4f5a5ae727b24 100644 (file)
@@ -268,23 +268,22 @@ static void print_ref_item(struct ref_item *item, int maxwidth, int verbose,
        }
 
        if (verbose) {
-               char *subject = NULL;
-               unsigned long subject_len = 0;
+               struct strbuf subject;
                const char *sub = " **** invalid ref ****";
 
+               strbuf_init(&subject, 0);
+
                commit = lookup_commit(item->sha1);
                if (commit && !parse_commit(commit)) {
-                       pretty_print_commit(CMIT_FMT_ONELINE, commit, ~0,
-                                           &subject, &subject_len, 0,
-                                           NULL, NULL, 0);
-                       sub = subject;
+                       pretty_print_commit(CMIT_FMT_ONELINE, commit,
+                                           &subject, 0, NULL, NULL, 0);
+                       sub = subject.buf;
                }
                printf("%c %s%-*s%s %s %s\n", c, branch_get_color(color),
                       maxwidth, item->name,
                       branch_get_color(COLOR_BRANCH_RESET),
                       find_unique_abbrev(item->sha1, abbrev), sub);
-               if (subject)
-                       free(subject);
+               strbuf_release(&subject);
        } else {
                printf("%c %s%s%s\n", c, branch_get_color(color), item->name,
                       branch_get_color(COLOR_BRANCH_RESET));