Diff between 474a0c94eb3a9fbbcef5c4a81080fc471e13a568 and 1b9e770c32a3a0eb7b9c4e5bd7b8a7b65e1693f2

Changed Files

File Additions Deletions Status
src/adapter.c +10 -0 modified

Full Patch

diff --git a/src/adapter.c b/src/adapter.c
index 344f638..25de5e6 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -4033,6 +4033,16 @@ void adapter_cleanup(void)
 	 */
 	mgmt_unregister_index(mgmt_master, MGMT_INDEX_NONE);
 
+	/*
+	 * In case there is another reference active, cancel
+	 * all pending global commands.
+	 *
+	 * This is just an extra precaution to avoid callbacks
+	 * that potentially then could leak memory or access
+	 * an invalid structure.
+	 */
+	mgmt_cancel_index(mgmt_master, MGMT_INDEX_NONE);
+
 	mgmt_unref(mgmt_master);
 	mgmt_master = NULL;
 }