1 diff -Naur cyrus-imapd-2.3.3.orig/lib/acl_afs.c cyrus-imapd-2.3.3/lib/acl_afs.c
2 --- cyrus-imapd-2.3.3.orig/lib/acl_afs.c 2005-12-13 20:36:11.000000000 +0100
3 +++ cyrus-imapd-2.3.3/lib/acl_afs.c 2006-04-12 07:28:50.000000000 +0200
5 cyrus_acl_canonproc_t *canonproc;
9 char *newidentifier = 0;
11 char *thisid, *nextid;
14 /* Convert 'identifier' into canonical form */
15 if (*identifier == '-') {
16 - char *canonid = auth_canonifyid(identifier+1, 0);
17 + canonid = auth_canonifyid(identifier+1, 0);
23 + /* trying to delete invalid/non-existent identifier */
24 + canonid = identifier+1;
27 newidentifier = xmalloc(strlen(canonid)+2);
28 newidentifier[0] = '-';
33 - identifier = auth_canonifyid(identifier, 0);
35 + canonid = auth_canonifyid(identifier, 0);
37 + identifier = canonid;
38 + } else if (access != 0L) {
41 + /* trying to delete invalid/non-existent identifier */
44 access = canonproc(canonrock, identifier, access);