summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libacl/acl_create_entry.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libacl/acl_create_entry.c b/libacl/acl_create_entry.c
index 4143078..b948d98 100644
--- a/libacl/acl_create_entry.c
+++ b/libacl/acl_create_entry.c
@@ -26,7 +26,7 @@
acl_entry_obj *
__acl_create_entry_obj(acl_obj *acl_obj_p)
{
- acl_entry_obj *entry_obj_p;
+ acl_entry_obj *entry_obj_p, *prev;
if (acl_obj_p->aprealloc == acl_obj_p->aprealloc_end) {
entry_obj_p = new_obj_p(acl_entry);
@@ -39,10 +39,11 @@ __acl_create_entry_obj(acl_obj *acl_obj_p)
acl_obj_p->aused++;
/* Insert at the end of the entry ring */
- entry_obj_p->eprev = acl_obj_p->aprev;
+ prev = acl_obj_p->aprev;
+ entry_obj_p->eprev = prev;
entry_obj_p->enext = (acl_entry_obj *)acl_obj_p;
- entry_obj_p->eprev->enext = entry_obj_p;
- entry_obj_p->enext->eprev = entry_obj_p;
+ prev->enext = entry_obj_p;
+ acl_obj_p->aprev = entry_obj_p;
entry_obj_p->econtainer = acl_obj_p;
init_acl_entry_obj(*entry_obj_p);