Diff between 31a9d40c89da89ebd8c57efccf99d7dac7a9f9a1 and 07e74279efa0c55d2f9617356e514e15169ebaa1

Changed Files

File Additions Deletions Status
src/shared/mgmt.c +4 -1 modified

Full Patch

diff --git a/src/shared/mgmt.c b/src/shared/mgmt.c
index 2297caf..5dba3d8 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;
 }