From: Joachim Schmitz Date: Thu, 13 Dec 2012 16:13:49 GMT Subject: Re: [PATCH] Fix sizeof usage in get_permutations Message-ID: In-Reply-To: <1355405790-20302-1-git-send-email-mattjd@gmail.com> Matthew Daley wrote: > Currently it gets the size of an otherwise unrelated, unused variable > instead of the expected struct size. > > Signed-off-by: Matthew Daley > --- > builtin/pack-redundant.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c > index f5c6afc..7544687 100644 > --- a/builtin/pack-redundant.c > +++ b/builtin/pack-redundant.c > @@ -301,14 +301,14 @@ static void pll_free(struct pll *l) > */ > static struct pll * get_permutations(struct pack_list *list, int n) > { > - struct pll *subset, *ret = NULL, *new_pll = NULL, *pll; > + struct pll *subset, *ret = NULL, *new_pll = NULL; > > if (list == NULL || pack_list_size(list) < n || n == 0) > return NULL; > > if (n == 1) { > while (list) { > - new_pll = xmalloc(sizeof(pll)); > + new_pll = xmalloc(sizeof(struct pll)); > new_pll->pl = NULL; > pack_list_insert(&new_pll->pl, list); > new_pll->next = ret; > @@ -321,7 +321,7 @@ static struct pll * get_permutations(struct > pack_list *list, int n) while (list->next) { > subset = get_permutations(list->next, n - 1); > while (subset) { > - new_pll = xmalloc(sizeof(pll)); > + new_pll = xmalloc(sizeof(struct pll)); Why not just new_pll = xmalloc(sizeof(*new_pll)); > new_pll->pl = subset->pl; > pack_list_insert(&new_pll->pl, list); > new_pll->next = ret;