Blame SOURCES/autofs-5.0.7-try-and-cleanup-after-dumpmaps.patch

304803
autofs-5.0.7 - try and cleanup after dumpmaps
304803
304803
From: Ian Kent <raven@themaw.net>
304803
304803
Try and cleanup a little after dumping maps.
304803
It's not really necessary but but can help by reducing the noise
304803
from valgrind when checking code.
304803
---
304803
 CHANGELOG          |    1 +
304803
 daemon/automount.c |   13 +++++++++++++
304803
 lib/master.c       |    2 ++
304803
 3 files changed, 16 insertions(+)
304803
304803
--- autofs-5.0.7.orig/CHANGELOG
304803
+++ autofs-5.0.7/CHANGELOG
304803
@@ -59,6 +59,7 @@
304803
 - fix syncronize handle_mounts() shutdown.
304803
 - fix fix wildcard multi map regression.
304803
 - fix dumpmaps multi output.
304803
+- try and cleanup after dumpmaps.
304803
 
304803
 25/07/2012 autofs-5.0.7
304803
 =======================
304803
--- autofs-5.0.7.orig/daemon/automount.c
304803
+++ autofs-5.0.7/daemon/automount.c
304803
@@ -2136,6 +2136,8 @@ int main(int argc, char *argv[])
304803
 	}
304803
 
304803
 	if (dumpmaps) {
304803
+		struct master_mapent *entry;
304803
+		struct list_head *head, *p;
304803
 		struct mapent_cache *nc;
304803
 
304803
 		open_log();
304803
@@ -2152,6 +2154,17 @@ int main(int argc, char *argv[])
304803
 
304803
 		lookup_nss_read_master(master_list, 0);
304803
 		master_show_mounts(master_list);
304803
+
304803
+		head = &master_list->mounts;
304803
+		p = head->next;
304803
+		while (p != head) {
304803
+			entry = list_entry(p, struct master_mapent, list);
304803
+			p = p->next;
304803
+			master_free_mapent_sources(entry, 1);
304803
+			master_free_mapent(entry);
304803
+		}
304803
+		master_kill(master_list);
304803
+
304803
 		exit(0);
304803
 	}
304803
 
304803
--- autofs-5.0.7.orig/lib/master.c
304803
+++ autofs-5.0.7/lib/master.c
304803
@@ -1426,6 +1426,8 @@ int master_show_mounts(struct master *ma
304803
 			source = source->next;
304803
 		}
304803
 
304803
+		lookup_close_lookup(ap);
304803
+
304803
 		printf("\n");
304803
 	}
304803