(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/plugins/acl/acl-backend-vfile.c) |
| |
| 205 | | | acl_backend_vfile_has_acl(struct acl_backend *_backend, |
| 206 | | | struct mail_storage *storage, const char *name) |
| 207 | | | { |
| 208 | | | struct acl_backend_vfile *backend = |
| 209 | | | (struct acl_backend_vfile *)_backend; |
| 210 | | | struct acl_backend_vfile_validity *old_validity, new_validity; |
| 211 | | | const char *path, *local_path, *global_path, *dir; |
| 212 | | | int ret; |
| 213 | | | |
| 214 | | | old_validity = acl_cache_get_validity(_backend->cache, name); |
| 215 | | | if (old_validity != NULL) |
Event 1:
Taking false branch. old_validity != (void *)0 evaluates to false.
hide
|
|
| 216 | | | new_validity = *old_validity; |
| 217 | | | else |
| 218 | | | memset(&new_validity, 0, sizeof(new_validity)); |
| 219 | | | |
| 220 | | | |
| 221 | | | |
| 222 | | | |
| 223 | | | path = mailbox_list_get_path(storage->list, name, |
| 224 | | | MAILBOX_LIST_PATH_TYPE_MAILBOX); |
| 225 | | | ret = path == NULL ? 0 : |
Event 2:
path == (void *)0 evaluates to true.
hide
|
|
| 226 | | | acl_backend_vfile_exists(backend, path, |
| 227 | | | &new_validity.mailbox_validity); |
| 228 | | | if (ret == 0) { |
Event 3:
Taking true branch. ret == 0 evaluates to true.
hide
|
|
| 229 | | | dir = acl_backend_vfile_get_local_dir(storage, name); |
| 230 | [+] | | local_path = t_strconcat(dir, "/", name, NULL); |
 |
| 231 | | | ret = acl_backend_vfile_exists(backend, local_path, |
Event 10:
local_path, which evaluates to NULL, is passed to acl_backend_vfile_exists() as the second argument. See related event 9.
hide
|
|
| 232 | [+] | | &new_validity.local_validity); |
 |
| |