(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib-storage/index/shared/shared-list.c) |
| |
| 174 | | | static const struct mailbox_info * |
| 175 | | | shared_list_iter_next(struct mailbox_list_iterate_context *_ctx) |
| 176 | | | { |
| 177 | | | struct shared_mailbox_list_iterate_context *ctx = |
| 178 | | | (struct shared_mailbox_list_iterate_context *)_ctx; |
Event 1:
ctx is set to _ctx.
hide
|
|
| 179 | | | struct mail_namespace *ns = ctx->cur_ns; |
| 180 | | | |
| 181 | | | for (; ns != NULL; ns = ns->next) { |
Event 2:
Entering loop body. ns != (void *)0 evaluates to true.
hide
|
|
| 182 | | | if (ns->type != NAMESPACE_SHARED || |
Event 3:
Skipping " if". - ns->type != NAMESPACE_SHARED evaluates to false.
- (ns->flags & NAMESPACE_FLAG_AUTOCREATED) == 0 evaluates to false.
hide
|
|
| 183 | | | (ns->flags & NAMESPACE_FLAG_AUTOCREATED) == 0) |
| 184 | | | continue; |
| 185 | | | if ((ns->flags & (NAMESPACE_FLAG_LIST_PREFIX | |
| 186 | | | NAMESPACE_FLAG_LIST_CHILDREN)) == 0) |
Event 4:
Skipping " if". (ns->flags & (NAMESPACE_FLAG_LIST_PREFIX | NAMESPACE_FLAG_LIST_CHILDREN)) == 0 evaluates to false.
hide
|
|
| 187 | | | continue; |
| 188 | | | |
| 189 | | | if (ns->prefix_len < ctx->info.ns->prefix_len || |
Event 5:
Skipping " if". - ns->prefix_len < ctx->info.ns->prefix_len evaluates to false.
- strncmp(...) != 0 evaluates to false.
hide
|
|
| 190 | | | strncmp(ns->prefix, ctx->info.ns->prefix, |
| 191 | | | ctx->info.ns->prefix_len) != 0) |
| 192 | | | continue; |
| 193 | | | |
| 194 | | | |
| 195 | | | |
| 196 | | | i_assert(ns->prefix_len > 0);
x /home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/macros.h |
| |
189 | #define i_assert(expr) STMT_START{ \ |
190 | if (unlikely(!(expr))) \ |
191 | i_panic("file %s: line %d (%s): assertion failed: (%s)", \ |
192 | __FILE__, \ |
193 | __LINE__, \ |
194 | __PRETTY_FUNCTION__, \ |
195 | #expr); }STMT_END |
| |
|
Event 6:
Skipping " if". ns->prefix_len > 0 evaluates to true.
hide
Event 7:
Skipping " if". !(ns->prefix_len > 0) evaluates to false.
hide
Event 8:
Skipping " if". !!(ns->prefix_len > 0) evaluates to true.
hide
Event 9:
Skipping " if". !!!(ns->prefix_len > 0) evaluates to false.
hide
Event 10:
Skipping " if". __builtin_expect(...) evaluates to false.
hide
|
|
| 197 | [+] | | ctx->info.name = t_strndup(ns->prefix, ns->prefix_len - 1); |
 |
| 198 | | | if ((_ctx->flags & MAILBOX_LIST_ITER_VIRTUAL_NAMES) == 0) |
Event 20:
Skipping " if". (_ctx->flags & MAILBOX_LIST_ITER_VIRTUAL_NAMES) == 0 evaluates to false.
hide
|
|
| 199 | | | ctx->info.name += ctx->info.ns->prefix_len; |
| 200 | [+] | | if (imap_match(ctx->glob, ctx->info.name) == IMAP_MATCH_YES) { |
Event 21:
ctx->info.name, which evaluates to NULL, is passed to imap_match() as the second argument. See related events 1 and 19.
hide
|
|
 |
| |