From 07e74279efa0c55d2f9617356e514e15169ebaa1 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Mon, 7 Jan 2013 18:59:37 -0800 Subject: [PATCH] shared: Fix issue with free command queue on mgmt_cancel_all --- src/shared/mgmt.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/shared/mgmt.c b/src/shared/mgmt.c index 2297caf98..5dba3d8ce 100644 --- a/src/shared/mgmt.c +++ b/src/shared/mgmt.c @@ -408,6 +408,8 @@ void mgmt_unref(struct mgmt *mgmt) mgmt_unregister_all(mgmt); mgmt_cancel_all(mgmt); + g_queue_free(mgmt->request_queue); + if (mgmt->write_watch > 0) { g_source_remove(mgmt->write_watch); mgmt->write_watch = 0; @@ -567,9 +569,10 @@ bool mgmt_cancel_all(struct mgmt *mgmt) g_list_foreach(mgmt->pending_list, destroy_request, NULL); g_list_free(mgmt->pending_list); + mgmt->pending_list = NULL; g_queue_foreach(mgmt->request_queue, destroy_request, NULL); - g_queue_free(mgmt->request_queue); + g_queue_clear(mgmt->request_queue); return true; } -- 2.47.3