summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5diff_util.c
diff options
context:
space:
mode:
authorJonathan Kim <jkm@hdfgroup.org>2011-10-24 21:50:13 (GMT)
committerJonathan Kim <jkm@hdfgroup.org>2011-10-24 21:50:13 (GMT)
commite54d15a26ca33a093730861b517604b9305faf67 (patch)
tree2f753d7c84b9d656a6228b9c2c8f499f0f51d447 /tools/lib/h5diff_util.c
parent1dcc75407eb48ebe0ffa3ff35087bbcb4a96c3a7 (diff)
downloadhdf5-e54d15a26ca33a093730861b517604b9305faf67.zip
hdf5-e54d15a26ca33a093730861b517604b9305faf67.tar.gz
hdf5-e54d15a26ca33a093730861b517604b9305faf67.tar.bz2
[svn-r21658] Purpose:
HDFFV-7770 - h5diff segmentation fault on JPSS files Description: Fixed segfault over non-comparable attribute with different dimention or rank, along with '-c' option to display details. Tested: jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows, Cmake
Diffstat (limited to 'tools/lib/h5diff_util.c')
-rw-r--r--tools/lib/h5diff_util.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/tools/lib/h5diff_util.c b/tools/lib/h5diff_util.c
index 6d340d9..dfdc8b3 100644
--- a/tools/lib/h5diff_util.c
+++ b/tools/lib/h5diff_util.c
@@ -35,24 +35,27 @@ print_dimensions (int rank, hsize_t *dims)
{
int i;
- if ( rank > 0 )
- {
-
- parallel_print("[" );
- for ( i = 0; i < rank-1; i++)
- {
- parallel_print(HSIZE_T_FORMAT, dims[i]);
- parallel_print("x");
- }
-
- parallel_print(HSIZE_T_FORMAT, dims[rank-1]);
- parallel_print("]" );
- }
- else
+ if ( rank <= 0 )
{
parallel_print("H5S_SCALAR" );
}
+ else
+ {
+ if (!dims)
+ parallel_print("dimension is NULL");
+ else
+ {
+ parallel_print("[");
+ for ( i = 0; i < rank-1; i++)
+ {
+ parallel_print(HSIZE_T_FORMAT, dims[i]);
+ parallel_print("x");
+ }
+ parallel_print(HSIZE_T_FORMAT, dims[rank-1]);
+ parallel_print("]" );
+ }
+ }
}