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;
openSUSE Build Service is sponsored by