Reviewed-by: Alexander Bokovoy <ab@samba.org>
TALLOC_CTX *tmp_ctx;
NTSTATUS status;
uint32_t i;
TALLOC_CTX *tmp_ctx;
NTSTATUS status;
uint32_t i;
- listen_fd[*listen_fd_size] = fd;
- (*listen_fd_size)++;
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
+ listen_fd[*listen_fd_size] = fd;
+ (*listen_fd_size)++;
fd = create_named_pipe_socket("lsass");
if (fd < 0) {
ok = false;
goto done;
}
fd = create_named_pipe_socket("lsass");
if (fd < 0) {
ok = false;
goto done;
}
- listen_fd[*listen_fd_size] = fd;
- (*listen_fd_size)++;
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
+ listen_fd[*listen_fd_size] = fd;
+ (*listen_fd_size)++;
fd = create_dcerpc_ncalrpc_socket("lsarpc");
if (fd < 0) {
ok = false;
goto done;
}
fd = create_dcerpc_ncalrpc_socket("lsarpc");
if (fd < 0) {
ok = false;
goto done;
}
- listen_fd[*listen_fd_size] = fd;
- (*listen_fd_size)++;
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
+ listen_fd[*listen_fd_size] = fd;
+ (*listen_fd_size)++;
+ fd = -1;
v = dcerpc_binding_vector_dup(tmp_ctx, v_orig);
if (v == NULL) {
v = dcerpc_binding_vector_dup(tmp_ctx, v_orig);
if (v == NULL) {
- listen_fd[*listen_fd_size] = fd;
- (*listen_fd_size)++;
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
+ listen_fd[*listen_fd_size] = fd;
+ (*listen_fd_size)++;
+ fd = -1;
v = dcerpc_binding_vector_dup(tmp_ctx, v_orig);
if (v == NULL) {
v = dcerpc_binding_vector_dup(tmp_ctx, v_orig);
if (v == NULL) {
- listen_fd[*listen_fd_size] = fd;
- (*listen_fd_size)++;
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
DEBUG(0, ("Failed to listen on netlogon ncalrpc - %s\n",
strerror(errno)));
rc = listen(fd, pf_lsasd_cfg.max_allowed_clients);
if (rc == -1) {
DEBUG(0, ("Failed to listen on netlogon ncalrpc - %s\n",
strerror(errno)));
+ listen_fd[*listen_fd_size] = fd;
+ (*listen_fd_size)++;
+ fd = -1;
v = dcerpc_binding_vector_dup(tmp_ctx, v_orig);
if (v == NULL) {
v = dcerpc_binding_vector_dup(tmp_ctx, v_orig);
if (v == NULL) {
+ if (fd != -1) {
+ close(fd);
+ }
talloc_free(tmp_ctx);
return ok;
}
talloc_free(tmp_ctx);
return ok;
}