diff --git a/src/min.cpp b/src/min.cpp index 6322b96f77..eebfd03dcd 100644 --- a/src/min.cpp +++ b/src/min.cpp @@ -533,11 +533,13 @@ void Min::force_clear() size_t nbytes = sizeof(double) * nall; - memset(&(atom->f[0][0]),0,3*nbytes); - if (torqueflag) memset(&(atom->torque[0][0]),0,3*nbytes); - if (erforceflag) memset(&(atom->erforce[0]), 0, nbytes); - if (e_flag) memset(&(atom->de[0]), 0, nbytes); - if (rho_flag) memset(&(atom->drho[0]), 0, nbytes); + if (nbytes) { + memset(&(atom->f[0][0]),0,3*nbytes); + if (torqueflag) memset(&(atom->torque[0][0]),0,3*nbytes); + if (erforceflag) memset(&(atom->erforce[0]), 0, nbytes); + if (e_flag) memset(&(atom->de[0]), 0, nbytes); + if (rho_flag) memset(&(atom->drho[0]), 0, nbytes); + } } /* ----------------------------------------------------------------------