librazor/iterator.c
changeset 265 71b615b7c185
parent 248 057933050c42
child 267 2464313cbced
     1.1 --- a/librazor/iterator.c	Fri Jun 20 15:10:34 2008 -0400
     1.2 +++ b/librazor/iterator.c	Mon Jun 23 14:07:07 2008 -0400
     1.3 @@ -240,13 +240,15 @@
     1.4  	struct razor_package_iterator *pi;
     1.5  	struct razor_set *set;
     1.6  	struct list *index;
     1.7 -	int i, j, count;
     1.8 +	int i, j;
     1.9  
    1.10  	set = pq->set;
    1.11 -	count = set->packages.size / sizeof(struct razor_package);
    1.12 -	index = zalloc(pq->count * sizeof *index);
    1.13 +	if (pq->count > 0)
    1.14 +		index = zalloc(pq->count * sizeof *index);
    1.15 +	else
    1.16 +		index = NULL;
    1.17  
    1.18 -	for (i = 0, j = 0; i < count; i++) {
    1.19 +	for (i = 0, j = 0; i < pq->count; i++) {
    1.20  		if (!pq->vector[i])
    1.21  			continue;
    1.22  
    1.23 @@ -256,6 +258,7 @@
    1.24  		j++;
    1.25  	}
    1.26  
    1.27 +	free(pq->vector);
    1.28  	free(pq);
    1.29  
    1.30  	pi = razor_package_iterator_create_with_index(set, index);