[MPICH] length of array passed to MPI_Type_set_name
Rajeev Thakur
thakur at mcs.anl.gov
Fri Jul 13 12:20:58 CDT 2007
> In mpich2-1.0.5p4/test/mpi/util/mtest.c on line 612,
> MPI_Type_set_name
> is called with a name for which the storage is shorter than
> MPI_MAX_OBJECT_NAME.
It is ok to call set_name with storage less than that, but not get_name if
you don't already know the size of the name.
> It is unclear to me though if MPI-2 does not require the
> array to be (at
> least) MPI_MAX_OBJECT_NAME characters long (including the
> null-terminator). For instance, the 2nd 'advice to users' on
> page 175 of
> MPI-2 says '... not a guarantee that setting names of less than this
> length will always succeed'.
The sentence begins with "Under circumstances of store exhaustion"
> Although I admit to find the paragraph I quoted above a bit
> confusing, I
> can imagine though that an MPI implementation might
> memcpy(internal_store,name_given_by_user,MPI_MAX_OBJECT_NAME). If in
> that case, 'name_given_by_user' is not MPI_MAX_OBJECT_NAME characters
> long, the memcpy might trigger a segmentation fault.
It should do a strcpy.
Rajeev
More information about the mpich-discuss
mailing list