Fix undefined behavior flagged by UBSAN
[alexxy/gromacs.git] / src / gromacs / mdrunutility / threadaffinity.cpp
index a2d08a0f59656a514ef0bf749fa8636b722b3bfb..8cf377acbf160ab0ee2c720f86bea938eecc880b 100644 (file)
@@ -541,10 +541,8 @@ static bool detectDefaultAffinityMask(const int nthreads_hw_avail)
     MPI_Initialized(&mpiIsInitialized);
     if (mpiIsInitialized)
     {
-        bool detectedDefaultAffinityMaskOnAllRanks;
-        MPI_Allreduce(&detectedDefaultAffinityMask, &detectedDefaultAffinityMaskOnAllRanks, 1,
-                      MPI_C_BOOL, MPI_LAND, MPI_COMM_WORLD);
-        detectedDefaultAffinityMask = detectedDefaultAffinityMaskOnAllRanks;
+        bool maskToReduce = detectedDefaultAffinityMask;
+        MPI_Allreduce(&maskToReduce, &detectedDefaultAffinityMask, 1, MPI_C_BOOL, MPI_LAND, MPI_COMM_WORLD);
     }
 #endif