Blame SOURCES/autofs-5.1.1-fix-use-after-free-st_queue_handler.patch

306fa1
autofs-5.1.1 - fix use-after-free in st_queue_handler()
306fa1
306fa1
From: Frank Sorenson <sorenson@redhat.com>
306fa1
306fa1
The task may be referenced after being freed.  Move the
306fa1
free to after the list_del_init.
306fa1
306fa1
Signed-off-by: Frank Sorenson <sorenson@redhat.com>
306fa1
Signed-off-by: Ian Kent <raven@themaw.net>
306fa1
---
306fa1
 CHANGELOG      |    1 +
306fa1
 daemon/state.c |    2 +-
306fa1
 2 files changed, 2 insertions(+), 1 deletion(-)
306fa1
306fa1
--- autofs-5.0.7.orig/CHANGELOG
306fa1
+++ autofs-5.0.7/CHANGELOG
306fa1
@@ -204,6 +204,7 @@
306fa1
 - fix use after free in open_lookup().
306fa1
 - fix typo in autofs_sasl_bind().
306fa1
 - add configuration option to use fqdn in mounts.
306fa1
+- fix use-after-free in st_queue_handler().
306fa1
 
306fa1
 25/07/2012 autofs-5.0.7
306fa1
 =======================
306fa1
--- autofs-5.0.7.orig/daemon/state.c
306fa1
+++ autofs-5.0.7/daemon/state.c
306fa1
@@ -1179,9 +1179,9 @@ remove:
306fa1
 							struct state_queue, pending);
306fa1
 
306fa1
 				list_del(&task->list);
306fa1
+				list_del_init(&next->pending);
306fa1
 				free(task);
306fa1
 
306fa1
-				list_del_init(&next->pending);
306fa1
 				list_add_tail(&next->list, head);
306fa1
 				if (p == head)
306fa1
 					p = head->next;