summaryrefslogtreecommitdiff
path: root/libacl/acl_copy_int.c
diff options
context:
space:
mode:
authorNathan Scott <nathans@sgi.com>2003-02-10 05:24:16 +0000
committerNathan Scott <nathans@sgi.com>2003-02-10 05:24:16 +0000
commit0b3f9da37c5bce2963a970fef31cd659c90f9884 (patch)
tree7e96a82b663feebe122a771e86e5b6a9f4448459 /libacl/acl_copy_int.c
parent11047574083dd3b068bf4350965e38cc3eda7637 (diff)
downloadacl-0b3f9da37c5bce2963a970fef31cd659c90f9884.tar.gz
Merge several ACL userspace patches from Andreas.
Fix an error handling case.
Diffstat (limited to 'libacl/acl_copy_int.c')
-rw-r--r--libacl/acl_copy_int.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libacl/acl_copy_int.c b/libacl/acl_copy_int.c
index 353424b..d898dbd 100644
--- a/libacl/acl_copy_int.c
+++ b/libacl/acl_copy_int.c
@@ -43,7 +43,7 @@ acl_copy_int(const void *buf_p)
return NULL;
}
entries = size / sizeof(struct __acl_entry);
- acl_obj_p = __acl_init_obj();
+ acl_obj_p = __acl_init_obj(entries);
if (acl_obj_p == NULL)
goto fail;
end_p = ext_acl->x_entries + entries;
@@ -53,8 +53,9 @@ acl_copy_int(const void *buf_p)
goto fail;
/* XXX Convert to machine endianness */
entry_obj_p->eentry = *ent_p;
- __acl_reorder_obj_p(entry_obj_p);
}
+ if (__acl_reorder_obj_p(acl_obj_p))
+ goto fail;
return int2ext(acl_obj_p);
fail: