From: Sage Weil Date: Wed, 30 Oct 2013 20:20:46 +0000 (-0700) Subject: os/chain_listxattr: fix leak fix X-Git-Tag: v0.72~28 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4a41d3d24b86382938232afd5c07c65974c66720;p=ceph.git os/chain_listxattr: fix leak fix e22347df3854a5c5ebc6631c62d70447d67d722d added a bad goto; just free explicitly instead. Signed-off-by: Sage Weil Reviewed-by: Noah Watkins --- diff --git a/src/os/chain_xattr.cc b/src/os/chain_xattr.cc index 52ae8dba868..8ca815689ed 100644 --- a/src/os/chain_xattr.cc +++ b/src/os/chain_xattr.cc @@ -354,8 +354,10 @@ int chain_listxattr(const char *fn, char *names, size_t len) { return -ENOMEM; r = sys_listxattr(fn, full_buf, total_len); - if (r < 0) - goto done; + if (r < 0) { + free(full_buf); + return r; + } char *p = full_buf; const char *end = full_buf + r;