# [PATCH] string_list_append: always set util pointer to NULL

2 messages from 2011-02-12 to 2011-02-12. Participants: Jeff King, Junio C Hamano.
Thread: https://gitlist.dev/t/26478

## Jeff King, 2011-02-12 05:18

Subject: [PATCH] string_list_append: always set util pointer to NULL
Message-ID: <20110212051850.GA715@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20110212051850.GA715%40sigill.intra.peff.net

```
It is not immediately obvious that the util field may
contain random bytes after appending an item. Especially
since the string_list_insert* functions _do_ explicitly zero
the util pointer.

This does not appear to be a bug in any current git code, as
all callers either fill in the util field immediately or
never use it. However, it is worth it to be less surprising
to new users of the string-list API who may expect it to be
intialized to NULL.

Signed-off-by: Jeff King <peff@peff.net>
---
This bit me in some new code I was writing. I consider it a bug fix, but
even if you don't, I think it is still an API improvement. :)

 string-list.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/string-list.c b/string-list.c
index 9b023a2..5168118 100644
--- a/string-list.c
+++ b/string-list.c
@@ -153,6 +153,7 @@ struct string_list_item *string_list_append(struct string_list *list, const char
 	ALLOC_GROW(list->items, list->nr + 1, list->alloc);
 	list->items[list->nr].string =
 		list->strdup_strings ? xstrdup(string) : (char *)string;
+	list->items[list->nr].util = NULL;
 	return list->items + list->nr++;
 }
 
-- 
1.7.4

```

## Junio C Hamano, 2011-02-12 07:43

Subject: Re: [PATCH] string_list_append: always set util pointer to NULL
Message-ID: <7v4o89zoi1.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v4o89zoi1.fsf%40alter.siamese.dyndns.org
In-Reply-To: <20110212051850.GA715@sigill.intra.peff.net>

```
Jeff King <peff@peff.net> writes:

> It is not immediately obvious that the util field may
> contain random bytes after appending an item. Especially
> since the string_list_insert* functions _do_ explicitly zero
> the util pointer.
>
> This does not appear to be a bug in any current git code, as
> all callers either fill in the util field immediately or
> never use it. However, it is worth it to be less surprising
> to new users of the string-list API who may expect it to be
> intialized to NULL.
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> This bit me in some new code I was writing. I consider it a bug fix, but ...

Of course; the "Especially since" part is very convincing.

```
