From: Marco Bettini Date: Wed, 22 Oct 2025 15:25:17 +0000 (+0000) Subject: acl: vfile_object_modify_right() - Remove the whole identifier if it has no rights... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4a7444b281ad97f582f7afcc34a6152a38add14;p=thirdparty%2Fdovecot%2Fcore.git acl: vfile_object_modify_right() - Remove the whole identifier if it has no rights left --- diff --git a/src/plugins/acl/acl-backend-vfile-update.c b/src/plugins/acl/acl-backend-vfile-update.c index 1c81a4f8fe..df2aad2550 100644 --- a/src/plugins/acl/acl-backend-vfile-update.c +++ b/src/plugins/acl/acl-backend-vfile-update.c @@ -72,7 +72,8 @@ vfile_object_modify_right(struct acl_object *aclobj, unsigned int idx, update->rights.neg_rights, update->neg_modify_mode); - if (right->rights == NULL && right->neg_rights == NULL) { + if ((right->rights == NULL || right->rights[0] == NULL) && + (right->neg_rights == NULL || right->neg_rights[0] == NULL)) { /* this identifier no longer exists */ array_delete(&aclobj->rights, idx, 1); c1 = TRUE;