diff options
Diffstat (limited to 'api/src/glfs-fops.c')
| -rw-r--r-- | api/src/glfs-fops.c | 23 | 
1 files changed, 16 insertions, 7 deletions
diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index c8ddeea196e..e6ed07a68a9 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -4104,8 +4104,8 @@ glfs_realpath_common (struct glfs *fs, const char *path, char *resolved_path,                                  "glfs_realpath()");                  }          } else { -                retpath = allocpath = GF_CALLOC (1, PATH_MAX + 1, -                                                 glfs_mt_realpath_t); +                retpath = allocpath = GLFS_CALLOC (1, PATH_MAX + 1, NULL, +                                                   glfs_mt_realpath_t);          }  	if (!retpath) { @@ -4140,7 +4140,7 @@ out:                  if (warn_deprecated && allocpath)                          free (allocpath);                  else if (allocpath) -                        GF_FREE (allocpath); +                        GLFS_FREE (allocpath);                  retpath = NULL;  	} @@ -4619,6 +4619,14 @@ invalid_fs:          return ret;  } +static void glfs_release_xreaddirp_stat (void *ptr) +{ +        struct glfs_xreaddirp_stat *to_free = ptr; + +        if (to_free->object) +                glfs_h_close (to_free->object); +} +  /*   * Given glfd of a directory, this function does readdirp and returns   * xstat along with dirents. @@ -4652,8 +4660,9 @@ pub_glfs_xreaddirplus_r (struct glfs_fd *glfd, uint32_t flags,          if (!buf)                  goto out; -        xstat = GF_CALLOC(1, sizeof(struct glfs_xreaddirp_stat), -                          glfs_mt_xreaddirp_stat_t); +        xstat = GLFS_CALLOC(1, sizeof(struct glfs_xreaddirp_stat), +                            glfs_release_xreaddirp_stat, +                            glfs_mt_xreaddirp_stat_t);          if (!xstat)                  goto out; @@ -4677,7 +4686,7 @@ pub_glfs_xreaddirplus_r (struct glfs_fd *glfd, uint32_t flags,                  *xstat_p = NULL;                  /* free xstat as applications shall not be using it */ -                glfs_free (xstat); +                GLFS_FREE (xstat);                  goto out;          } @@ -4728,7 +4737,7 @@ out:                          strerror(errno));                  if (xstat) -                        glfs_free (xstat); +                        GLFS_FREE (xstat);          }          __GLFS_EXIT_FS;  | 
