summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2023-08-18 21:00:43 (GMT)
committerGitHub <noreply@github.com>2023-08-18 21:00:43 (GMT)
commit81830c1dedf6a1fb606232a3bb369cbdef65508d (patch)
tree37a3c2f30d32f6be6d00bcf0367fb60bbf806a3d /src
parent31f4d5aa4e1f174cef8163e4af40f7bea728cd0c (diff)
downloadhdf5-81830c1dedf6a1fb606232a3bb369cbdef65508d.zip
hdf5-81830c1dedf6a1fb606232a3bb369cbdef65508d.tar.gz
hdf5-81830c1dedf6a1fb606232a3bb369cbdef65508d.tar.bz2
Fix valgrind warning about write of uninitialized bytes in ScaleOffset filter (#3390)
Diffstat (limited to 'src')
-rw-r--r--src/H5Zscaleoffset.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/H5Zscaleoffset.c b/src/H5Zscaleoffset.c
index 123c767..c3de6a6 100644
--- a/src/H5Zscaleoffset.c
+++ b/src/H5Zscaleoffset.c
@@ -1283,6 +1283,9 @@ H5Z__filter_scaleoffset(unsigned flags, size_t cd_nelmts, const unsigned cd_valu
}
/* output; compress */
else {
+ size_t used_bytes;
+ size_t unused_bytes;
+
assert(nbytes == d_nelmts * p.size);
/* before preprocess, convert to memory endianness order if needed */
@@ -1334,7 +1337,10 @@ H5Z__filter_scaleoffset(unsigned flags, size_t cd_nelmts, const unsigned cd_valu
/* (Looks like an error in the original determination of how many
* bytes would be needed for parameters. - QAK, 2010/08/19)
*/
- memset(outbuf + 13, 0, (size_t)8);
+ used_bytes = 4 + 1 + sizeof(unsigned long long);
+ assert(used_bytes <= size_out);
+ unused_bytes = size_out - used_bytes;
+ memset(outbuf + 13, 0, unused_bytes);
/* special case: minbits equal to full precision */
if (minbits == p.size * 8) {