@matheusbsbs / matheus-bagliano / commits / 39765e5941
Fork 0

interpret_nth_last_branch(): plug small memleak

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Jan 19, 2009 at 21:58 UTC 39765e5941d36f74cec4764d315da0ba5743547c
1 file changed +7 -3
sha1_name.c
+7 -3
@@ -754,7 +754,7 @@ static int grab_nth_branch_switch(unsigned char *osha1, unsigned char *nsha1,
754 int interpret_nth_last_branch(const char *name, struct strbuf *buf)
755 {
756 long nth;
757 - int i;
757 + int i, retval;
758 struct grab_nth_branch_switch_cbdata cb;
759 const char *brace;
760 char *num_end;
@@ -774,17 +774,21 @@ int interpret_nth_last_branch(const char *name, struct strbuf *buf)
774 for (i = 0; i < nth; i++)
775 strbuf_init(&cb.buf[i], 20);
776 cb.cnt = 0;
777 + retval = 0;
778 for_each_reflog_ent("HEAD", grab_nth_branch_switch, &cb);
779 if (cb.cnt < nth)
779 - return 0;
780 + goto release_return;
781 i = cb.cnt % nth;
782 strbuf_reset(buf);
783 strbuf_add(buf, cb.buf[i].buf, cb.buf[i].len);
784 + retval = brace-name+1;
785 +
786 +release_return:
787 for (i = 0; i < nth; i++)
788 strbuf_release(&cb.buf[i]);
789 free(cb.buf);
790
787 - return brace-name+1;
791 + return retval;
792 }
793
794 /*