Also, when clearing the "onelines" string lists, do not free the "util" member: with string_list_append() is not initialized to any value (and was being initialized to NULL previously anyway). NB: The duplicated code in builtin-shortlog.c predated the appearance of string_list_append(). Signed-off-by: Adeodato Simó <dato@xxxxxxxxxxxxxx> --- builtin-shortlog.c | 14 ++------------ 1 files changed, 2 insertions(+), 12 deletions(-) diff --git a/builtin-shortlog.c b/builtin-shortlog.c index d03f14f..4c5d761 100644 --- a/builtin-shortlog.c +++ b/builtin-shortlog.c @@ -36,7 +36,6 @@ static void insert_one_record(struct shortlog *log, const char *dot3 = log->common_repo_prefix; char *buffer, *p; struct string_list_item *item; - struct string_list *onelines; char namebuf[1024]; size_t len; const char *eol; @@ -104,16 +103,7 @@ static void insert_one_record(struct shortlog *log, } } - onelines = item->util; - if (onelines->nr >= onelines->alloc) { - onelines->alloc = alloc_nr(onelines->nr); - onelines->items = xrealloc(onelines->items, - onelines->alloc - * sizeof(struct string_list_item)); - } - - onelines->items[onelines->nr].util = NULL; - onelines->items[onelines->nr++].string = buffer; + string_list_append(buffer, item->util); } static void read_from_stdin(struct shortlog *log) @@ -323,7 +313,7 @@ void shortlog_output(struct shortlog *log) } onelines->strdup_strings = 1; - string_list_clear(onelines, 1); + string_list_clear(onelines, 0); free(onelines); log->list.items[i].util = NULL; } -- 1.6.0.4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html