Fix libiptc memory hole during iptc_chain_next() (Tomas Lejdar)
diff --git a/libiptc/libiptc.c b/libiptc/libiptc.c
index 985b9b0..55b708b 100644
--- a/libiptc/libiptc.c
+++ b/libiptc/libiptc.c
@@ -1,4 +1,4 @@
-/* Library which manipulates firewall rules.  Version $Revision: 1.34 $ */
+/* Library which manipulates firewall rules.  Version $Revision: 1.35 $ */
 
 /* Architecture of firewall rules is as follows:
  *
@@ -504,8 +504,10 @@
 	(*handle)->cache_chain_iteration++;
 
 	if ((*handle)->cache_chain_iteration - (*handle)->cache_chain_heads
-	    == (*handle)->cache_num_chains)
+	    == (*handle)->cache_num_chains) {
+		free((*handle)->cache_chain_heads);
 		return NULL;
+	}
 
 	return (*handle)->cache_chain_iteration->name;
 }