git.samba.org
/
rsync.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e516b69
)
If the xattr data is bogus in get_rsync_acl(), free the buffer.
author
Wayne Davison
<wayned@samba.org>
Mon, 5 Nov 2007 18:15:01 +0000
(18:15 +0000)
committer
Wayne Davison
<wayned@samba.org>
Mon, 5 Nov 2007 18:15:01 +0000
(18:15 +0000)
acls.c
patch
|
blob
|
history
diff --git
a/acls.c
b/acls.c
index 6cbd80abbe186d4b85c0c716a28f5628ab6b7af1..04cff88adfc084c535f4ce6e88dd6b6c6706f5a9 100644
(file)
--- a/
acls.c
+++ b/
acls.c
@@
-476,8
+476,10
@@
static int get_rsync_acl(const char *fname, rsync_acl *racl,
if ((buf = get_xattr_acl(fname, type == SMB_ACL_TYPE_ACCESS, &len)) == NULL)
return 0;
cnt = (len - 4*4) / (4+4);
if ((buf = get_xattr_acl(fname, type == SMB_ACL_TYPE_ACCESS, &len)) == NULL)
return 0;
cnt = (len - 4*4) / (4+4);
- if (len < 4*4 || len != (size_t)cnt*(4+4) + 4*4)
+ if (len < 4*4 || len != (size_t)cnt*(4+4) + 4*4) {
+ free(buf);
return -1;
return -1;
+ }
racl->user_obj = IVAL(buf, 0);
racl->group_obj = IVAL(buf, 4);
racl->user_obj = IVAL(buf, 0);
racl->group_obj = IVAL(buf, 4);