From c8b336e957593b588a882ab501dc4ea5f1be5a58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Fri, 21 Feb 2025 16:33:34 +0100
Subject: [PATCH] Do not call MPI_Comm_free for invalid communicator

---
 src/utils/PTScotchPartitioner.cpp | 4 +++-
 src/utils/ParMETISPartitioner.cpp | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/utils/PTScotchPartitioner.cpp b/src/utils/PTScotchPartitioner.cpp
index e86acfa44..112ddfecd 100644
--- a/src/utils/PTScotchPartitioner.cpp
+++ b/src/utils/PTScotchPartitioner.cpp
@@ -90,7 +90,9 @@ PTScotchPartitioner::partition(const CRSGraph& graph)
     SCOTCH_stratExit(&scotch_strategy);
   }
 
-  MPI_Comm_free(&partitioning_comm);
+  if (partitioning_comm != MPI_COMM_NULL){
+    MPI_Comm_free(&partitioning_comm);
+  }
   MPI_Group_free(&mesh_group);
   MPI_Group_free(&world_group);
 
diff --git a/src/utils/ParMETISPartitioner.cpp b/src/utils/ParMETISPartitioner.cpp
index 47864de1f..f1b17c3d0 100644
--- a/src/utils/ParMETISPartitioner.cpp
+++ b/src/utils/ParMETISPartitioner.cpp
@@ -72,7 +72,9 @@ ParMETISPartitioner::partition(const CRSGraph& graph)
     // LCOV_EXCL_STOP
   }
 
-  MPI_Comm_free(&partitioning_comm);
+  if (partitioning_comm != MPI_COMM_NULL){
+    MPI_Comm_free(&partitioning_comm);
+  }
   MPI_Group_free(&mesh_group);
   MPI_Group_free(&world_group);
 
-- 
GitLab