Text   |  XML   |  ReML   |   Visible Warnings:

Use After Free  at ssl-proxy-openssl.c:644

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

plain_write

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/login-common/ssl-proxy-openssl.c)expand/collapse
Show more  
 294  static void plain_write(struct ssl_proxy *proxy)
 295  {
 296          ssize_t ret;
 297   
 298          proxy->refcount++;
 299   
 300          ret = net_transmit(proxy->fd_plain, proxy->plainout_buf,
 301                             proxy->plainout_size);
 302          if (ret < 0)
 303[+]                 ssl_proxy_destroy(proxy);
 304          else {
 305                  proxy->plainout_size -= ret;
 306                  memmove(proxy->plainout_buf, proxy->plainout_buf + ret,
 307                          proxy->plainout_size);
 308   
 309                  if (proxy->plainout_size > 0) {
 310                          if (proxy->io_plain_write == NULL) {
 311                                  proxy->io_plain_write =
 312                                          io_add(proxy->fd_plain, IO_WRITE,
 313                                                 plain_write, proxy);
 314                          }
 315                  } else {
 316                          if (proxy->io_plain_write != NULL)
 317                                  io_remove(&proxy->io_plain_write);
 318                  }
 319   
 320                  ssl_set_io(proxy, SSL_ADD_INPUT);
 321                  if (SSL_pending(proxy->ssl) > 0)
 322                          ssl_read(proxy);
 323          }
 324   
 325[+]         ssl_proxy_unref(proxy);
expand/collapse

ssl_proxy_unref

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/login-common/ssl-proxy-openssl.c)expand/collapse
Show more  
 642  static void ssl_proxy_unref(struct ssl_proxy *proxy)
 643  {
 644          if (--proxy->refcount > 0)
Show more  
Show more  




Change Warning 11810.25564 : Use After Free

Priority:
State:
Finding:
Owner:
Note: