(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/login-common/ssl-proxy-openssl.c) |
| |
| 255 | | | static void plain_read(struct ssl_proxy *proxy) |
| 256 | | | { |
| 257 | | | ssize_t ret; |
| 258 | | | bool corked = FALSE; |
| 259 | | | |
| 260 | | | if (proxy->sslout_size == sizeof(proxy->sslout_buf)) { |
Event 1:
Skipping " if". proxy->sslout_size == sizeof( proxy->sslout_buf ) evaluates to false.
hide
|
|
| 261 | | | |
| 262 | | | plain_block_input(proxy, TRUE); |
| 263 | | | return; |
| 264 | | | } |
| 265 | | | |
| 266 | | | proxy->refcount++; |
| 267 | | | |
| 268 | | | while (proxy->sslout_size < sizeof(proxy->sslout_buf) && |
| 269 | | | !proxy->destroyed) { |
| 270 | | | ret = net_receive(proxy->fd_plain, |
| 271 | | | proxy->sslout_buf + proxy->sslout_size, |
| 272 | | | sizeof(proxy->sslout_buf) - |
| 273 | | | proxy->sslout_size); |
| 274 | | | if (ret <= 0) { |
Event 3:
Taking true branch. ret <= 0 evaluates to true.
hide
|
|
| 275 | | | if (ret < 0) |
Event 4:
Taking true branch. ret < 0 evaluates to true.
hide
|
|
| 276 | [+] | | ssl_proxy_destroy(proxy); |
Event 5:
proxy is passed to ssl_proxy_destroy().
hide
|
|
 |
| 277 | | | break; |
| 278 | | | } else { |
| 279 | | | proxy->sslout_size += ret; |
| 280 | | | if (!corked) { |
| 281 | | | net_set_cork(proxy->fd_ssl, TRUE); |
| 282 | | | corked = TRUE; |
| 283 | | | } |
| 284 | | | ssl_write(proxy); |
| 285 | | | } |
| 286 | | | } |
| 287 | | | |
| 288 | | | if (corked) |
Event 27:
Skipping " if". corked evaluates to false.
hide
|
|
| 289 | | | net_set_cork(proxy->fd_ssl, FALSE); |
| 290 | | | |
| 291 | [+] | | ssl_proxy_unref(proxy); |
Event 28:
proxy is passed to ssl_proxy_unref().
hide
|
|
 |
| |