Commit f91f7d580d for asterisk.org

commit f91f7d580dc742e1df0bba1df3ee21a2db81412c
Author: Tinet-mucw <mucw@ti-net.com.cn>
Date:   Thu Dec 25 21:18:03 2025 -0800

    app_mixmonitor.c: Fix crash in mixmonitor_ds_remove_and_free when datastore is NULL

    The datastore may be NULL, so a null pointer check needs to be added.

    Resolves: #1673

diff --git a/apps/app_mixmonitor.c b/apps/app_mixmonitor.c
index 1788fe061f..3ca978dfdd 100644
--- a/apps/app_mixmonitor.c
+++ b/apps/app_mixmonitor.c
@@ -1064,12 +1064,10 @@ static void mixmonitor_ds_remove_and_free(struct ast_channel *chan, const char *

 	datastore = ast_channel_datastore_find(chan, &mixmonitor_ds_info, datastore_id);

-	/*
-	 * Currently the one place this function is called from guarantees a
-	 * datastore is present, thus return checks can be avoided here.
-	 */
-	ast_channel_datastore_remove(chan, datastore);
-	ast_datastore_free(datastore);
+	if (datastore) {
+		ast_channel_datastore_remove(chan, datastore);
+		ast_datastore_free(datastore);
+	}

 	ast_channel_unlock(chan);
 }