]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
acl: Fixed assert-crash when using the new global ACL file.
authorTimo Sirainen <tss@iki.fi>
Fri, 7 Feb 2014 20:36:15 +0000 (15:36 -0500)
committerTimo Sirainen <tss@iki.fi>
Fri, 7 Feb 2014 20:36:15 +0000 (15:36 -0500)
src/plugins/acl/acl-backend-vfile.c

index 404b4c6935517a0ac903814148e1e2b99371268e..3f4611a1e8c76148ee240ac03a209b8685a80485 100644 (file)
@@ -255,9 +255,11 @@ acl_backend_vfile_has_acl(struct acl_backend *_backend, const char *name)
        }
 
        if (ret == 0 && backend->global_path != NULL) {
-               if (_backend->global_file != NULL)
-                       ret = acl_global_file_have_any(_backend->global_file, vname) ? 1 : 0;
-               else {
+               if (_backend->global_file != NULL) {
+                       ret = acl_global_file_refresh(_backend->global_file);
+                       if (ret == 0 && acl_global_file_have_any(_backend->global_file, vname))
+                               ret = 1;
+               } else {
                        global_path = t_strconcat(backend->global_path, "/", name, NULL);
                        ret = acl_backend_vfile_exists(backend, global_path,
                                                       &new_validity.global_validity);