diff -r 057933050c42 -r 5b0601d184ed librazor/iterator.c --- a/librazor/iterator.c Fri Jun 20 15:10:34 2008 -0400 +++ b/librazor/iterator.c Mon Jun 23 09:59:08 2008 -0400 @@ -240,13 +240,15 @@ struct razor_package_iterator *pi; struct razor_set *set; struct list *index; - int i, j, count; + int i, j; set = pq->set; - count = set->packages.size / sizeof(struct razor_package); - index = zalloc(pq->count * sizeof *index); + if (pq->count > 0) + index = zalloc(pq->count * sizeof *index); + else + index = NULL; - for (i = 0, j = 0; i < count; i++) { + for (i = 0, j = 0; i < pq->count; i++) { if (!pq->vector[i]) continue; @@ -256,6 +258,7 @@ j++; } + free(pq->vector); free(pq); pi = razor_package_iterator_create_with_index(set, index);