(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/pop3-login/pop3-proxy.c) |
| |
| 70 | | | static int proxy_input_line(struct pop3_client *client, const char *line) |
| 71 | | | { |
| 72 | | | struct ostream *output; |
| 73 | | | enum login_proxy_ssl_flags ssl_flags; |
| 74 | | | string_t *str; |
| 75 | | | |
| 76 | | | i_assert(!client->destroyed);
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 1:
Skipping " if". !client->destroyed evaluates to true.
hide
Event 2:
Skipping " if". !!client->destroyed evaluates to false.
hide
Event 3:
Skipping " if". !!!client->destroyed evaluates to true.
hide
Event 4:
Skipping " if". !!!!client->destroyed evaluates to false.
hide
Event 5:
Skipping " if". __builtin_expect(...) evaluates to false.
hide
|
|
| 77 | | | |
| 78 | | | output = login_proxy_get_ostream(client->proxy); |
| 79 | | | switch (client->proxy_state) { |
Event 6:
client->proxy_state evaluates to implicit-default.
hide
|
|
| 80 | | | case POP3_PROXY_BANNER: |
| 81 | | | |
| 82 | | | if (strncmp(line, "+OK", 3) != 0) { |
| 83 | | | client_syslog_err(&client->common, t_strdup_printf( |
| 84 | | | "proxy: Remote returned invalid banner: %s", |
| 85 | | | str_sanitize(line, 160))); |
| 86 | | | proxy_failed(client, TRUE); |
| 87 | | | return -1; |
| 88 | | | } |
| 89 | | | |
| 90 174 |  | | [ Lines 90 to 174 omitted. ] |
| 175 | | | |
| 176 | | | |
| 177 | | | |
| 178 | | | |
| 179 | | | |
| 180 | | | |
| 181 | | | |
| 182 | | | |
| 183 | | | |
| 184 | | | |
| 185 | | | if (strncmp(line, "-ERR ", 5) != 0) |
Event 7:
Taking true branch. strncmp(line, "-ERR ", 5) != 0 evaluates to true.
hide
|
|
| 186 | | | client_send_line(client, "-ERR "AUTH_FAILED_MSG); |
| 187 | | | else |
| 188 | | | client_send_line(client, line); |
| 189 | | | |
| 190 | | | if (verbose_auth) { |
Event 8:
Taking true branch. verbose_auth evaluates to true.
hide
|
|
| 191 | | | str = t_str_new(128); |
| 192 | | | str_printfa(str, "proxy(%s): Login failed to %s:%u", |
| 193 | | | client->common.virtual_user, |
| 194 | | | login_proxy_get_host(client->proxy), |
| 195 | | | login_proxy_get_port(client->proxy)); |
| 196 | | | if (strcmp(client->common.virtual_user, |
| 197 | | | client->proxy_user) != 0) { |
Event 9:
Skipping " if". strcmp(...) != 0 evaluates to false.
hide
|
|
| 198 | | | |
| 199 | | | str_append_c(str, '/'); |
| 200 | | | str_append(str, client->proxy_user); |
| 201 | | | } |
| 202 | | | if (client->proxy_master_user != NULL) { |
Event 10:
Skipping " if". client->proxy_master_user != (void *)0 evaluates to false.
hide
Event 11:
Considering the case where client->proxy_master_user must have been equal to 0.
hide
|
|
| 203 | | | str_printfa(str, " (master %s)", |
| 204 | | | client->proxy_master_user); |
| 205 | | | } |
| 206 | | | str_append(str, ": "); |
| 207 | | | if (strncmp(line, "-ERR ", 5) == 0) |
Event 12:
Taking false branch. strncmp(line, "-ERR ", 5) == 0 evaluates to false.
hide
|
|
| 208 | | | str_append(str, line + 5); |
| 209 | | | else |
| 210 | | | str_append(str, line); |
| 211 | | | i_info("%s", str_c(str)); |
| 212 | | | } |
| 213 | [+] | | proxy_failed(client, FALSE); |
Event 13:
client is passed to proxy_failed() as the first argument. - Determines the freed value in the Free Null Pointer warning later.
hide
|
|
 |
| |