(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/dict/main.c) |
| |
| 63 | | | static void main_init(void) |
| 64 | | | { |
| 65 | | | const char *version, *path; |
| 66 | | | int fd; |
| 67 | | | |
| 68 | | | version = getenv("DOVECOT_VERSION"); |
| 69 | | | if (version != NULL && strcmp(version, PACKAGE_VERSION) != 0) { |
Event 1:
Skipping " if". version != (void *)0 evaluates to false.
hide
|
|
| 70 | | | i_fatal("Dovecot version mismatch: " |
| 71 | | | "Master is v%s, dict is v"PACKAGE_VERSION" " |
| 72 | | | "(if you don't care, set version_ignore=yes)", version); |
| 73 | | | } |
| 74 | | | |
| 75 | | | lib_signals_init(); |
| 76 | | | lib_signals_set_handler(SIGINT, TRUE, sig_die, NULL);
x /usr/include/bits/signum.h |
| |
34 | #define SIGINT 2 /* Interrupt (ANSI). */ |
| |
|
Event 2:
!0 evaluates to true.
hide
|
|
| 77 | | | lib_signals_set_handler(SIGTERM, TRUE, sig_die, NULL);
x /usr/include/bits/signum.h |
| |
48 | #define SIGTERM 15 /* Termination (ANSI). */ |
| |
|
Event 3:
!0 evaluates to true.
hide
|
|
| 78 | | | lib_signals_ignore(SIGPIPE, TRUE);
x /usr/include/bits/signum.h |
| |
46 | #define SIGPIPE 13 /* Broken pipe (POSIX). */ |
| |
|
Event 4:
!0 evaluates to true.
hide
|
|
| 79 | | | lib_signals_ignore(SIGALRM, FALSE);
x /usr/include/bits/signum.h |
| |
47 | #define SIGALRM 14 /* Alarm clock (POSIX). */ |
| |
|
| 80 | | | |
| 81 | | | |
| 82 | | | log_io = io_add(STDERR_FILENO, IO_ERROR, log_error_callback, NULL);
x /home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/ioloop.h |
| |
50 | #define io_add(fd, condition, callback, context) \ |
51 | CONTEXT_CALLBACK(io_add, io_callback_t, \ |
52 | callback, context, fd, condition) |
| |
x /home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/macros.h |
| |
146 | # define CONTEXT_CALLBACK(name, callback_type, callback, context, ...) \ |
147 | ({(void)(1 ? 0 : callback(context)); \ |
148 | name(__VA_ARGS__, (callback_type *)callback, context); }) |
| |
x /usr/include/unistd.h |
| |
213 | #define STDERR_FILENO 2 /* Standard error output. */ |
| |
|
Event 5:
1 evaluates to true.
hide
|
|
| 83 | | | |
| 84 | | | modules = module_dir_load(DICT_MODULE_DIR, NULL, TRUE, version); |
Event 6:
!0 evaluates to true.
hide
|
|
| 85 | | | module_dir_init(modules); |
| 86 | | | |
| 87 | | | |
| 88 | | | |
| 89 | | | dict_drivers_register_all(); |
| 90 | | | |
| 91 | | | path = getenv("DICT_LISTEN_FROM_FD"); |
| 92 | | | fd = path == NULL ? -1 : DICT_MASTER_LISTENER_FD; |
Event 7:
path == (void *)0 evaluates to true.
hide
|
|
| 93 | | | if (path == NULL) { |
Event 8:
Taking true branch. path == (void *)0 evaluates to true.
hide
|
|
| 94 | | | path = t_strconcat(getenv("BASE_DIR"), |
Event 14:
path is set to t_strconcat(...), which evaluates to NULL. See related event 13.
hide
|
|
| 95 | [+] | | DEFAULT_DICT_SERVER_SOCKET_FNAME, NULL); |
 |
| 96 | | | } |
| 97 | | | |
| 98 | [+] | | dict_server = dict_server_init(path, fd); |
Event 15:
path, which evaluates to NULL, is passed to dict_server_init() as the first argument. See related event 14.
hide
|
|
 |
| |