(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib-storage/index/dbox/dbox-storage.c) |
| |
| 291 | | | static struct mailbox * |
| 292 | | | dbox_mailbox_open(struct mail_storage *_storage, const char *name, |
| 293 | | | struct istream *input, enum mailbox_open_flags flags) |
| 294 | | | { |
| 295 | | | struct dbox_storage *storage = (struct dbox_storage *)_storage; |
| 296 | | | const char *path; |
| 297 | | | |
| 298 | | | if (input != NULL) { |
Event 1:
Skipping " if". input != (void *)0 evaluates to false.
hide
|
|
| 299 | | | mail_storage_set_critical(_storage, |
| 300 | | | "dbox doesn't support streamed mailboxes"); |
| 301 | | | return NULL; |
| 302 | | | } |
| 303 | | | |
| 304 | | | path = mailbox_list_get_path(_storage->list, name, |
Event 3:
path is set to mailbox_list_get_path(...), which evaluates to list->v.get_path(...) from mailbox-list.c:446. See related event 2.
hide
|
|
| 305 | [+] | | MAILBOX_LIST_PATH_TYPE_MAILBOX); |
 |
| 306 | [+] | | if (dbox_cleanup_if_exists(_storage, path)) |
Event 4:
path, which evaluates to list->v.get_path(...) from mailbox-list.c:446, is passed to dbox_cleanup_if_exists() as the second argument. See related event 3.
hide
|
|
 |
| 307 | | | return dbox_open(storage, name, flags); |
| 308 | | | else if (errno == ENOENT) {
x /usr/include/asm-generic/errno-base.h |
| |
5 | #define ENOENT 2 /* No such file or directory */ |
| |
|
Event 10:
Taking true branch. errno == 2 evaluates to true.
hide
|
|
| 309 | | | if (strcmp(name, "INBOX") == 0 && |
| 310 | | | (_storage->ns->flags & NAMESPACE_FLAG_INBOX) != 0) { |
| 311 | | | |
| 312 | [+] | | if (create_dbox(_storage, path) < 0) |
Event 12:
path, which evaluates to list->v.get_path(...) from mailbox-list.c:446, is passed to create_dbox() as the second argument. See related events 3 and 6.
hide
|
|
 |
| |