Remove UB in ArrayRef from array
[alexxy/gromacs.git] / src / gromacs / domdec / mdsetup.cpp
index 53236dd3d8c948767a4c1f1eb5c95cbeebde29ee..ead9a61fd1c67f6c38f66624a9253ce24e5216e7 100644 (file)
@@ -148,8 +148,10 @@ void mdAlgorithmsSetupAtomData(const t_commrec*     cr,
         const int numPmeAtoms = numHomeAtoms - fr->n_tpi;
         gmx_pme_reinit_atoms(fr->pmedata,
                              numPmeAtoms,
-                             gmx::arrayRefFromArray(mdatoms->chargeA, mdatoms->nr),
-                             gmx::arrayRefFromArray(mdatoms->chargeB, mdatoms->nr));
+                             mdatoms->chargeA ? gmx::arrayRefFromArray(mdatoms->chargeA, mdatoms->nr)
+                                              : gmx::ArrayRef<real>{},
+                             mdatoms->chargeB ? gmx::arrayRefFromArray(mdatoms->chargeB, mdatoms->nr)
+                                              : gmx::ArrayRef<real>{});
     }
 
     if (constr)