From 3925a7114caaac56e79849ebf3aa13784918282b Mon Sep 17 00:00:00 2001 From: Christian Ambach Date: Fri, 2 Nov 2012 08:39:17 +0100 Subject: s3:vfs_gpfs fix memory leaks in gpfs_getacl_alloc Signed-off-by: Christian Ambach Reviewed-by: Andrew Bartlett --- source3/modules/vfs_gpfs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c index 8e8c69455e..edf0273711 100644 --- a/source3/modules/vfs_gpfs.c +++ b/source3/modules/vfs_gpfs.c @@ -242,6 +242,7 @@ static struct gpfs_acl *gpfs_getacl_alloc(const char *fname, gpfs_aclType_t type struct gpfs_acl *new_acl = (struct gpfs_acl *)TALLOC_SIZE( mem_ctx, acl->acl_len + sizeof(struct gpfs_acl)); if (new_acl == NULL) { + talloc_free(acl); errno = ENOMEM; return NULL; } @@ -250,13 +251,14 @@ static struct gpfs_acl *gpfs_getacl_alloc(const char *fname, gpfs_aclType_t type new_acl->acl_level = acl->acl_level; new_acl->acl_version = acl->acl_version; new_acl->acl_type = acl->acl_type; + talloc_free(acl); acl = new_acl; ret = smbd_gpfs_getacl((char *)fname, GPFS_GETACL_STRUCT, acl); } - if (ret != 0) - { + if (ret != 0) { DEBUG(8, ("smbd_gpfs_getacl failed with %s\n",strerror(errno))); + talloc_free(acl); return NULL; } -- cgit