diff --git a/main/format.c b/main/format.c
index cea89a2b6a23794fea3e2310b4794052bd875404..d04eb054d1114d853e560e35a2a8e50b17ffc105 100644
--- a/main/format.c
+++ b/main/format.c
@@ -916,7 +916,7 @@ int init_framer(void)
 
 static int format_list_add_custom(struct ast_format_list *new)
 {
-	struct ast_format_list *entry;
+	RAII_VAR(struct ast_format_list *, entry, NULL, ao2_cleanup);
 	if (!(entry = ao2_alloc(sizeof(*entry), NULL))) {
 		return -1;
 	}
diff --git a/main/loader.c b/main/loader.c
index 7ad515f8aa14c039982a2ae4ed9512dfe81bc4a7..a0bec43eb4584c9767e0964b5c5942f6e0163416 100644
--- a/main/loader.c
+++ b/main/loader.c
@@ -1035,6 +1035,8 @@ static int load_resource_list(struct load_order *load_order, unsigned int global
 			break;
 		case AST_MODULE_LOAD_PRIORITY:
 			AST_LIST_REMOVE_CURRENT(entry);
+			ast_free(order->resource);
+			ast_free(order);
 			break;
 		}
 	}