if (value && strlen(value) == 1 && value[0] == '.') {
if (uname(&un) < 0) {
log_warn("lldpctl", "cannot get node name");
+ lldpctl_atom_dec_ref(config);
return 0;
}
value = un.nodename;
if (value == -1) {
log_warnx("lldpctl", "invalid value");
+ lldpctl_atom_dec_ref(config);
return 0;
}
if (!nochdir)
(void)chdir("/");
+ /* coverity[resource_leak]
+ fd may be leaked if < 2, it's expected */
if (!noclose && (fd = open("/dev/null", O_RDWR, 0)) != -1) {
(void)dup2(fd, STDIN_FILENO);
(void)dup2(fd, STDOUT_FILENO);
if (fd > 2)
(void)close (fd);
}
- /* coverity[resource_leak]
- fd may be leaked if < 2, it's expected */
return (0);
}
/* So, we use syslog and we daemonize (or we are started by
* systemd). No need to continue writing to stdout. */
int fd;
+ /* coverity[resource_leak]
+ fd may be leaked if < 2, it's expected */
if ((fd = open("/dev/null", O_RDWR, 0)) != -1) {
dup2(fd, STDIN_FILENO);
dup2(fd, STDOUT_FILENO);
dup2(fd, STDERR_FILENO);
if (fd > 2) close(fd);
}
- /* coverity[resource_leak]
- fd may be leaked if < 2, it's expected */
}
log_debug("main", "lldpd " PACKAGE_VERSION " starting...");
version_check();