diff options
author | Michael Kuhn <michael.kuhn@ovgu.de> | 2020-10-05 13:27:24 (GMT) |
---|---|---|
committer | Michael Kuhn <michael.kuhn@ovgu.de> | 2020-10-05 13:27:24 (GMT) |
commit | f57cc4a702812b1e0a67cbde407894b58bb31181 (patch) | |
tree | 44bead02d33bd734c54b4ccb5e8f4ef852b04856 /src/H5PLpath.c | |
parent | 9df906126f5d448ad52a98ba99fd2eb2f4b4f5eb (diff) | |
download | hdf5-f57cc4a702812b1e0a67cbde407894b58bb31181.zip hdf5-f57cc4a702812b1e0a67cbde407894b58bb31181.tar.gz hdf5-f57cc4a702812b1e0a67cbde407894b58bb31181.tar.bz2 |
Fix memory leak in H5PL__find_plugin_in_path
When encountering a directory, the current loop iteration was skipped
without freeing the memory allocated for the path.
Diffstat (limited to 'src/H5PLpath.c')
-rw-r--r-- | src/H5PLpath.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/H5PLpath.c b/src/H5PLpath.c index 1858cf8..3879dc6 100644 --- a/src/H5PLpath.c +++ b/src/H5PLpath.c @@ -669,8 +669,10 @@ H5PL__find_plugin_in_path(const H5PL_search_params_t *search_params, hbool_t *fo HDstrerror(errno)) /* If it is a directory, skip it */ - if (S_ISDIR(my_stat.st_mode)) + if (S_ISDIR(my_stat.st_mode)) { + path = (char *)H5MM_xfree(path); continue; + } /* attempt to open the dynamic library as a filter library */ if (H5PL__open(path, search_params->type, search_params->key, found, plugin_info) < 0) |