File get_filter_info-get-correct-number-of-filter-elements.patch of Package netcdf
From: Egbert Eich <eich@suse.com>
Date: Mon Nov 30 08:43:12 2020 +0100
Subject: get_filter_info: get correct number of filter elements
Patch-mainline: Not yet
Git-commit: 189fef307970683b2c12a1a253fbb12647d17f05
References:
Reset num_elements for each filter so that H5Pget_filter2() gets
get a filter element for the number of filter slots.
Signed-off-by: Egbert Eich <eich@suse.com>
---
netcdf-c-4.7.4/libhdf5/hdf5open.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/netcdf-c-4.7.4/libhdf5/hdf5open.c b/netcdf-c-4.7.4/libhdf5/hdf5open.c
index 7663b6e..4008558 100644
--- a/libhdf5/hdf5open.c
+++ b/libhdf5/hdf5open.c
@@ -934,7 +934,7 @@ static int get_filter_info(hid_t propid, NC_VAR_INFO_T *var)
H5Z_filter_t filter;
int num_filters;
unsigned int cd_values_zip[CD_NELEMS_ZLIB];
- size_t cd_nelems = CD_NELEMS_ZLIB;
+ size_t cd_nelems;
int f;
int stat = NC_NOERR;
@@ -945,6 +945,7 @@ static int get_filter_info(hid_t propid, NC_VAR_INFO_T *var)
for (f = 0; f < num_filters; f++)
{
+ cd_nelems = CD_NELEMS_ZLIB;
if ((filter = H5Pget_filter2(propid, f, NULL, &cd_nelems, cd_values_zip,
0, NULL, NULL)) < 0)
return NC_EHDFERR;