Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Ceterum censeo Applem delendam esse.
[simgrid.git] / src / smpi / smpi_bench.cpp
index 21f2fd0..bbc31dc 100644 (file)
@@ -489,8 +489,8 @@ void *smpi_shared_malloc(size_t size, const char *file, int line)
     if (res.second) {
       // The insertion did not take place.
       // Generate a shared memory name from the address of the shared_data:
-      char shmname[256];
-      sprintf(shmname, "/shmalloc%p", &*data);
+      char shmname[32]; // cannot be longer than PSHMNAMLEN = 31 on Mac OS X (shm_open raises ENAMETOOLONG otherwise)
+      snprintf(shmname, 31, "/shmalloc%p", &*data);
       fd = shm_open(shmname, O_RDWR | O_CREAT | O_EXCL,
                     S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
       if (fd < 0) {