diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2003-10-10 15:23:46 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2003-10-10 15:23:46 (GMT) |
commit | c71ef4801c27e24a605010d81772adadb6cc921e (patch) | |
tree | 501f100598a2b5929348392987e7134bb9516717 /src/H5Tvlen.c | |
parent | a310180c7f3075febfc177e4da307fe304b8f370 (diff) | |
download | hdf5-c71ef4801c27e24a605010d81772adadb6cc921e.zip hdf5-c71ef4801c27e24a605010d81772adadb6cc921e.tar.gz hdf5-c71ef4801c27e24a605010d81772adadb6cc921e.tar.bz2 |
[svn-r7594] Purpose:
Bug fix
Description:
The 'char *' type is one of the "strongly" aligned types on Crays, but
a 'void *' is "weakly" aligned. So, assigning a 'void *' (pointing to a
location to place a 'char *') to a 'char **' can change the pointer value
during the assignment.
Solution:
Don't alias the 'void *' where the variable-length information ('char *'
or 'hvl_t') will go. Use a temporary variable on the stack to build up the
information about the VL string or sequence and then memcpy() the temporary
variable directly to the location pointed to with the 'void *'
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
specific to Cray problems, h5committest not necessary.
Diffstat (limited to 'src/H5Tvlen.c')
0 files changed, 0 insertions, 0 deletions