From fb0892abcce6984230ecabd4191afeea997df204 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 14 Aug 2017 16:31:26 -0400 Subject: [PATCH 604/604] api: memory leak in glfs_h_acl_get(), missing dict unref master review https://review.gluster.org/17092 circa April 2017 Fix already exists in release-3.12 and release-3.11 branches Hat tip to Shyam (srangana[at]redhat.com) who found the existing fix after sitting and debugging it with me for several hours. upstream Change-Id: Ic7169fd05aff7bf46108e8ac7b1f29688a7f2358 Change-Id: I954967113fd35da1f37603a70771289a67232e07 Reported-by: Kinglong Mee BUG: 1481392 Signed-off-by: Kaleb S. KEITHLEY Reviewed-on: https://code.engineering.redhat.com/gerrit/115321 Reviewed-by: Niels de Vos Reviewed-by: Atin Mukherjee --- api/src/glfs-handleops.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/api/src/glfs-handleops.c b/api/src/glfs-handleops.c index 88f9ab1..25eb861 100644 --- a/api/src/glfs-handleops.c +++ b/api/src/glfs-handleops.c @@ -2303,13 +2303,15 @@ pub_glfs_h_acl_get (struct glfs *fs, struct glfs_object *object, goto out; ret = dict_get_str (xattr, (char *)acl_key, &acl_s); - if (ret == -1) + if (ret) goto out; acl = acl_from_text (acl_s); out: - GF_FREE (acl_s); + if (xattr) + dict_unref (xattr); + if (IA_ISLNK (object->inode->ia_type) && new_object) glfs_h_close (new_object); -- 1.8.3.1