(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/master/auth-process.c) |
| |
| 285 | | | static void auth_worker_input(struct auth_process *p) |
| 286 | | | { |
| 287 | | | int fd; |
| 288 | | | |
| 289 | [+] | | fd = net_accept(p->worker_listen_fd, NULL, NULL); |
Event 1:
The resource of interest is allocated inside net_accept().
hide
|
|
 |
| 290 | | | if (fd < 0) { |
Event 15:
Skipping " if". fd < 0 evaluates to false.
hide
|
|
| 291 | | | if (fd == -2) |
| 292 | | | i_error("accept(worker) failed: %m"); |
| 293 | | | return; |
| 294 | | | } |
| 295 | | | |
| 296 | [+] | | net_set_nonblock(fd, TRUE); |
Event 16:
!0 evaluates to true.
hide
Event 17:
The resource of interest is passed to net_set_nonblock() as the first argument. - net_set_nonblock() does not free it or save any references that are freed later.
- fd, which evaluates to accept(fd, &so.sa, &addrlen) from network.c:434, is passed to net_set_nonblock() as the first argument.
See related event 14.
hide
|
|
 |
| 297 | [+] | | fd_close_on_exec(fd, TRUE); |
Event 29:
!0 evaluates to true.
hide
Event 30:
The resource of interest is passed to fd_close_on_exec() as the first argument. - fd_close_on_exec() does not free it or save any references that are freed later.
- fd, which evaluates to accept(fd, &so.sa, &addrlen) from network.c:434, is passed to fd_close_on_exec() as the first argument.
See related event 14.
hide
|
|
 |
| 298 | | | |
| 299 | [+] | | create_auth_worker(p, fd); |
Event 38:
The resource of interest is passed to create_auth_worker() as the second argument. - create_auth_worker() does not free it or save any references that are freed later.
- fd, which evaluates to accept(fd, &so.sa, &addrlen) from network.c:434, is passed to create_auth_worker() as the second argument.
See related event 14.
hide
|
|
 |
| 300 | | | } |
Leak
There are no remaining references to the resource accept(fd, &so.sa, &addrlen) from network.c:434. The issue can occur if the highlighted code executes. See related events 1, 7, 8, 12, 13, 14, 17, 18, 19, 20, 21, 24, 26, 28, 30, 31, 32, 35, 37, 38, 39, 42, and 43. Show: All events | Only primary events |
|
| |