+ char shm_buf_path[PATH_MAX];
+
+ if (shm_path) {
+ char cpu_nr[UINT_MAX_STR_LEN]; /* unsigned int max len */
+
+ strncpy(shm_buf_path, shm_path, PATH_MAX);
+ shm_buf_path[PATH_MAX - 1] = '\0';
+ ret = snprintf(cpu_nr, UINT_MAX_STR_LEN, "%u", i);
+ if (ret != 1)
+ goto end;
+ strncat(shm_buf_path, cpu_nr,
+ PATH_MAX - strlen(shm_buf_path) - 1);
+ }
+ shmobj = shm_object_table_alloc(handle->table, shmsize,
+ SHM_OBJECT_SHM, shm_path ? shm_buf_path : NULL);