--- hdf5-1.6.4/tools/lib/h5diff_attr.c.orig 2005-07-01 08:47:12.000000000 -0600 +++ hdf5-1.6.4/tools/lib/h5diff_attr.c 2005-07-01 09:01:59.000000000 -0600 @@ -61,8 +61,8 @@ int rank2; /* rank of dataset */ hsize_t dims1[H5S_MAX_RANK];/* dimensions of dataset */ hsize_t dims2[H5S_MAX_RANK];/* dimensions of dataset */ - char name1[255]; - char name2[255]; + char name1[255],np1[512]; + char name2[255],np2[512]; int n1, n2, i, j; int ret=0; hsize_t nfound; @@ -191,21 +191,21 @@ * array compare *------------------------------------------------------------------------- */ - sprintf(name1,"%s of <%s>",name1,path1); - sprintf(name2,"%s of <%s>",name2,path2); + snprintf(np1,sizeof(np1),"%s of <%s>",name1,path1); + snprintf(np2,sizeof(np2),"%s of <%s>",name2,path2); /* always print name */ if (options->m_verbose) { - printf( "Attribute: <%s> and <%s>\n",name1,name2); + printf( "Attribute: <%s> and <%s>\n",np1,np2); nfound = diff_array(buf1, buf2, nelmts1, rank1, dims1, options, - name1, - name2, + np1, + np2, mtype1_id, attr1_id, attr2_id); @@ -225,8 +225,8 @@ rank1, dims1, options, - name1, - name2, + np1, + np2, mtype1_id, attr1_id, attr2_id); @@ -234,15 +234,15 @@ options->m_quiet=0; if (nfound) { - printf( "Attribute: <%s> and <%s>\n",name1,name2); + printf( "Attribute: <%s> and <%s>\n",np1,np2); nfound = diff_array(buf1, buf2, nelmts1, rank1, dims1, options, - name1, - name2, + np1, + np2, mtype1_id, attr1_id, attr2_id); @@ -258,8 +258,8 @@ rank1, dims1, options, - name1, - name2, + np1, + np2, mtype1_id, attr1_id, attr2_id);