# HG changeset patch # User James Bowes # Date 1214270416 14400 # Node ID 97c12ddedfb31844f1c006fdb85cab1396ee095a # Parent 27b0d4068feb6ecaa17147f279e8ec0ff59be7dd Create an empty package iterator when we don't know about the given file. This is an easy way to stop segfaults when trying to destroy iterators for unknown files. diff -r 27b0d4068feb -r 97c12ddedfb3 librazor/iterator.c --- a/librazor/iterator.c Mon Jun 23 20:48:48 2008 -0400 +++ b/librazor/iterator.c Mon Jun 23 21:20:16 2008 -0400 @@ -36,6 +36,13 @@ return pi; } +static struct razor_package_iterator * +razor_package_iterator_create_empty(struct razor_set *set) +{ + struct razor_package_iterator *pi; + return zalloc(sizeof *pi); +} + RAZOR_EXPORT struct razor_package_iterator * razor_package_iterator_create(struct razor_set *set) { @@ -78,7 +85,7 @@ entry = razor_set_find_entry(set, set->files.data, filename); if (entry == NULL) - return NULL; + return razor_package_iterator_create_empty(set); index = list_first(&entry->packages, &set->package_pool); return razor_package_iterator_create_with_index(set, index);