From 21836158056d97a817757d2d9c2c511f4e8c43e4 Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <schaller@strw.leidenuniv.nl> Date: Fri, 31 May 2019 12:39:41 +0200 Subject: [PATCH] Prevent users from using an FFT mesh with more than 2^31 cells, which would cause an integer over-flow in the loops. --- src/mesh_gravity.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mesh_gravity.c b/src/mesh_gravity.c index bf0519842e..9efd8c0396 100644 --- a/src/mesh_gravity.c +++ b/src/mesh_gravity.c @@ -624,6 +624,11 @@ void pm_mesh_init(struct pm_mesh* mesh, const struct gravity_props* props, mesh->r_cut_max = mesh->r_s * props->r_cut_max_ratio; mesh->r_cut_min = mesh->r_s * props->r_cut_min_ratio; + if (mesh->N > 1290) + error( + "Mesh too big. The number of cells is larger than 2^31. " + "Use a mesh side-length <= 1290."); + if (2. * mesh->r_cut_max > box_size) error("Mesh too small or r_cut_max too big for this box size"); -- GitLab