File System Race Condition at network.c:416 |
No properties have been set. edit properties |
Jump to warning location ↓ | warning details... |
| |
net_listen_unix_unlink_stale (/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/network.c)![]() | ||||||
![]() | ||||||
398 | int net_listen_unix_unlink_stale(const char *path, int backlog) | |||||
399 | { | |||||
400 | unsigned int i = 0; | |||||
401 | int fd; | |||||
402 | ||||||
403 | [+] | while ((fd = net_listen_unix(path, backlog)) == -1) {
| ||||
404 | if (errno != EADDRINUSE || ++i == 2) | |||||
405 | return -1; | |||||
406 | ||||||
407 | /* see if it really exists */ | |||||
408 | [+] | fd = net_connect_unix(path); | ||||
409 | if (fd != -1 || errno != ECONNREFUSED) { | |||||
410 | if (fd != -1) (void)close(fd); | |||||
411 | errno = EADDRINUSE; | |||||
412 | return -1; | |||||
413 | } | |||||
414 | ||||||
415 | /* delete and try again */ | |||||
416 | if (unlink(path) < 0 && errno != ENOENT) {
| |||||
![]() |