+1
-1
@@ -103,5 +103,5 @@ int asynchronous_close(int fd) {
|
||||
assert_se(close_nointr(fd) != -EBADF);
|
||||
}
|
||||
|
||||
return -1;
|
||||
return -EBADF;
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ int chase_symlinks_at(
|
||||
|
||||
for (todo = buffer;;) {
|
||||
_cleanup_free_ char *first = NULL;
|
||||
_cleanup_close_ int child = -1;
|
||||
_cleanup_close_ int child = -EBADF;
|
||||
struct stat st;
|
||||
const char *e;
|
||||
|
||||
|
||||
+1
-1
@@ -246,7 +246,7 @@ static int close_all_fds_frugal(const int except[], size_t n_except) {
|
||||
"Refusing to loop over %d potential fds.",
|
||||
max_fd);
|
||||
|
||||
for (int fd = 3; fd >= 0; fd = fd < max_fd ? fd + 1 : -1) {
|
||||
for (int fd = 3; fd >= 0; fd = fd < max_fd ? fd + 1 : -EBADF) {
|
||||
int q;
|
||||
|
||||
if (fd_in_set(fd, except, n_except))
|
||||
|
||||
+4
-3
@@ -15,14 +15,15 @@
|
||||
/* Make sure we can distinguish fd 0 and NULL */
|
||||
#define FD_TO_PTR(fd) INT_TO_PTR((fd)+1)
|
||||
#define PTR_TO_FD(p) (PTR_TO_INT(p)-1)
|
||||
#define PIPE_EBADF { -EBADF, -EBADF }
|
||||
|
||||
int close_nointr(int fd);
|
||||
int safe_close(int fd);
|
||||
void safe_close_pair(int p[static 2]);
|
||||
|
||||
static inline int safe_close_above_stdio(int fd) {
|
||||
if (fd < 3) /* Don't close stdin/stdout/stderr, but still invalidate the fd by returning -1 */
|
||||
return -1;
|
||||
if (fd < 3) /* Don't close stdin/stdout/stderr, but still invalidate the fd by returning -EBADF. */
|
||||
return -EBADF;
|
||||
|
||||
return safe_close(fd);
|
||||
}
|
||||
@@ -86,7 +87,7 @@ int fd_move_above_stdio(int fd);
|
||||
int rearrange_stdio(int original_input_fd, int original_output_fd, int original_error_fd);
|
||||
|
||||
static inline int make_null_stdio(void) {
|
||||
return rearrange_stdio(-1, -1, -1);
|
||||
return rearrange_stdio(-EBADF, -EBADF, -EBADF);
|
||||
}
|
||||
|
||||
/* Like TAKE_PTR() but for file descriptors, resetting them to -1 */
|
||||
|
||||
+1
-1
@@ -767,7 +767,7 @@ int read_full_file_full(
|
||||
|
||||
r = xfopenat(dir_fd, filename, "re", 0, &f);
|
||||
if (r < 0) {
|
||||
_cleanup_close_ int sk = -1;
|
||||
_cleanup_close_ int sk = -EBADF;
|
||||
|
||||
/* ENXIO is what Linux returns if we open a node that is an AF_UNIX socket */
|
||||
if (r != -ENXIO)
|
||||
|
||||
@@ -1130,7 +1130,7 @@ static int ptsname_namespace(int pty, char **ret) {
|
||||
|
||||
int openpt_allocate_in_namespace(pid_t pid, int flags, char **ret_slave) {
|
||||
_cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, usernsfd = -EBADF, rootfd = -EBADF, fd = -EBADF;
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
pid_t child;
|
||||
int r;
|
||||
|
||||
@@ -1183,7 +1183,7 @@ int openpt_allocate_in_namespace(pid_t pid, int flags, char **ret_slave) {
|
||||
|
||||
int open_terminal_in_namespace(pid_t pid, const char *name, int mode) {
|
||||
_cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, usernsfd = -EBADF, rootfd = -EBADF;
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
pid_t child;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ int main(int argc, char *argv[]) {
|
||||
size_t l;
|
||||
int r;
|
||||
|
||||
r = rearrange_stdio(-1, -1, -1);
|
||||
r = make_null_stdio();
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to connect stdin/stdout/stderr with /dev/null: %m");
|
||||
return EXIT_FAILURE;
|
||||
|
||||
@@ -573,7 +573,7 @@ static void automount_trigger_notify(Unit *u, Unit *other) {
|
||||
|
||||
static void automount_enter_waiting(Automount *a) {
|
||||
_cleanup_close_ int ioctl_fd = -EBADF;
|
||||
int pipe_fd[2] = { -EBADF, -EBADF };
|
||||
int pipe_fd[2] = PIPE_EBADF;
|
||||
char name[STRLEN("systemd-") + DECIMAL_STR_MAX(pid_t) + 1];
|
||||
_cleanup_free_ char *options = NULL;
|
||||
bool mounted = false;
|
||||
|
||||
@@ -74,7 +74,7 @@ static int dynamic_user_add(Manager *m, const char *name, int storage_socket[sta
|
||||
}
|
||||
|
||||
static int dynamic_user_acquire(Manager *m, const char *name, DynamicUser** ret) {
|
||||
_cleanup_close_pair_ int storage_socket[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int storage_socket[2] = PIPE_EBADF;
|
||||
DynamicUser *d;
|
||||
int r;
|
||||
|
||||
@@ -127,7 +127,7 @@ static int dynamic_user_acquire(Manager *m, const char *name, DynamicUser** ret)
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
storage_socket[0] = storage_socket[1] = -1;
|
||||
storage_socket[0] = storage_socket[1] = -EBADF;
|
||||
|
||||
if (ret) {
|
||||
d->n_ref++;
|
||||
@@ -382,7 +382,7 @@ static int dynamic_user_realize(
|
||||
uid_t *ret_uid, gid_t *ret_gid,
|
||||
bool is_user) {
|
||||
|
||||
_cleanup_(unlockfp) int storage_socket0_lock = -1;
|
||||
_cleanup_(unlockfp) int storage_socket0_lock = -EBADF;
|
||||
_cleanup_close_ int uid_lock_fd = -EBADF;
|
||||
_cleanup_close_ int etc_passwd_lock_fd = -EBADF;
|
||||
uid_t num = UID_INVALID; /* a uid if is_user, and a gid otherwise */
|
||||
@@ -524,7 +524,7 @@ static int dynamic_user_realize(
|
||||
}
|
||||
|
||||
int dynamic_user_current(DynamicUser *d, uid_t *ret) {
|
||||
_cleanup_(unlockfp) int storage_socket0_lock = -1;
|
||||
_cleanup_(unlockfp) int storage_socket0_lock = -EBADF;
|
||||
_cleanup_close_ int lock_fd = -EBADF;
|
||||
uid_t uid;
|
||||
int r;
|
||||
@@ -567,7 +567,7 @@ static DynamicUser* dynamic_user_unref(DynamicUser *d) {
|
||||
}
|
||||
|
||||
static int dynamic_user_close(DynamicUser *d) {
|
||||
_cleanup_(unlockfp) int storage_socket0_lock = -1;
|
||||
_cleanup_(unlockfp) int storage_socket0_lock = -EBADF;
|
||||
_cleanup_close_ int lock_fd = -EBADF;
|
||||
uid_t uid;
|
||||
int r;
|
||||
|
||||
+4
-4
@@ -2099,7 +2099,7 @@ bool exec_needs_mount_namespace(
|
||||
|
||||
static int setup_private_users(uid_t ouid, gid_t ogid, uid_t uid, gid_t gid) {
|
||||
_cleanup_free_ char *uid_map = NULL, *gid_map = NULL;
|
||||
_cleanup_close_pair_ int errno_pipe[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int errno_pipe[2] = PIPE_EBADF;
|
||||
_cleanup_close_ int unshare_ready_fd = -EBADF;
|
||||
_cleanup_(sigkill_waitp) pid_t pid = 0;
|
||||
uint64_t c = 1;
|
||||
@@ -6609,8 +6609,8 @@ static int exec_runtime_allocate(ExecRuntime **ret, const char *id) {
|
||||
|
||||
*n = (ExecRuntime) {
|
||||
.id = TAKE_PTR(id_copy),
|
||||
.netns_storage_socket = { -EBADF, -EBADF },
|
||||
.ipcns_storage_socket = { -EBADF, -EBADF },
|
||||
.netns_storage_socket = PIPE_EBADF,
|
||||
.ipcns_storage_socket = PIPE_EBADF,
|
||||
};
|
||||
|
||||
*ret = n;
|
||||
@@ -6672,7 +6672,7 @@ static int exec_runtime_make(
|
||||
ExecRuntime **ret) {
|
||||
|
||||
_cleanup_(namespace_cleanup_tmpdirp) char *tmp_dir = NULL, *var_tmp_dir = NULL;
|
||||
_cleanup_close_pair_ int netns_storage_socket[2] = { -EBADF, -EBADF }, ipcns_storage_socket[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int netns_storage_socket[2] = PIPE_EBADF, ipcns_storage_socket[2] = PIPE_EBADF;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
|
||||
+1
-1
@@ -851,7 +851,7 @@ int manager_new(LookupScope scope, ManagerTestRunFlags test_run_flags, Manager *
|
||||
.notify_fd = -EBADF,
|
||||
.cgroups_agent_fd = -EBADF,
|
||||
.signal_fd = -EBADF,
|
||||
.user_lookup_fds = { -EBADF, -EBADF },
|
||||
.user_lookup_fds = PIPE_EBADF,
|
||||
.private_listen_fd = -EBADF,
|
||||
.dev_autofs_fd = -EBADF,
|
||||
.cgroup_inotify_fd = -EBADF,
|
||||
|
||||
@@ -2832,7 +2832,7 @@ int setup_tmp_dirs(const char *id, char **tmp_dir, char **var_tmp_dir) {
|
||||
}
|
||||
|
||||
int setup_shareable_ns(const int ns_storage_socket[static 2], unsigned long nsflag) {
|
||||
_cleanup_close_ int ns = -1;
|
||||
_cleanup_close_ int ns = -EBADF;
|
||||
int r, q;
|
||||
const char *ns_name, *ns_path;
|
||||
|
||||
@@ -2900,7 +2900,7 @@ fail:
|
||||
}
|
||||
|
||||
int open_shareable_ns_path(const int ns_storage_socket[static 2], const char *path, unsigned long nsflag) {
|
||||
_cleanup_close_ int ns = -1;
|
||||
_cleanup_close_ int ns = -EBADF;
|
||||
int q, r;
|
||||
|
||||
assert(ns_storage_socket);
|
||||
|
||||
+1
-1
@@ -1402,7 +1402,7 @@ static int service_allocate_exec_fd(
|
||||
sd_event_source **ret_event_source,
|
||||
int *ret_exec_fd) {
|
||||
|
||||
_cleanup_close_pair_ int p[] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int p[] = PIPE_EBADF;
|
||||
int r;
|
||||
|
||||
assert(s);
|
||||
|
||||
+2
-2
@@ -1502,7 +1502,7 @@ static int socket_address_listen_in_cgroup(
|
||||
const SocketAddress *address,
|
||||
const char *label) {
|
||||
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
int fd, r;
|
||||
pid_t pid;
|
||||
|
||||
@@ -2899,7 +2899,7 @@ static int socket_accept_do(Socket *s, int fd) {
|
||||
}
|
||||
|
||||
static int socket_accept_in_cgroup(Socket *s, SocketPort *p, int fd) {
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
int cfd, r;
|
||||
pid_t pid;
|
||||
|
||||
|
||||
@@ -1463,7 +1463,7 @@ static int process_kernel(int argc, char* argv[]) {
|
||||
/* When we're invoked by the kernel, stdout/stderr are closed which is dangerous because the fds
|
||||
* could get reallocated. To avoid hard to debug issues, let's instead bind stdout/stderr to
|
||||
* /dev/null. */
|
||||
r = rearrange_stdio(STDIN_FILENO, -1, -1);
|
||||
r = rearrange_stdio(STDIN_FILENO, -EBADF, -EBADF);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to connect stdout/stderr to /dev/null: %m");
|
||||
|
||||
|
||||
@@ -881,7 +881,7 @@ static int write_root_shadow(const char *shadow_path, const char *hashed_passwor
|
||||
}
|
||||
|
||||
static int process_root_account(void) {
|
||||
_cleanup_close_ int lock = -1;
|
||||
_cleanup_close_ int lock = -EBADF;
|
||||
_cleanup_(erase_and_freep) char *_hashed_password = NULL;
|
||||
const char *password, *hashed_password;
|
||||
const char *etc_passwd, *etc_shadow;
|
||||
|
||||
+1
-1
@@ -241,7 +241,7 @@ static int fsck_progress_socket(void) {
|
||||
}
|
||||
|
||||
static int run(int argc, char *argv[]) {
|
||||
_cleanup_close_pair_ int progress_pipe[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int progress_pipe[2] = PIPE_EBADF;
|
||||
_cleanup_(sd_device_unrefp) sd_device *dev = NULL;
|
||||
_cleanup_free_ char *dpath = NULL;
|
||||
_cleanup_fclose_ FILE *console = NULL;
|
||||
|
||||
@@ -85,7 +85,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
struct iovec server_iov = IOVEC_MAKE((void*) data, size), client_iov = IOVEC_MAKE((void*) data, size);
|
||||
/* Important: the declaration order matters here! we want that the fds are closed on return after the
|
||||
* event sources, hence we declare the fds first, the event sources second */
|
||||
_cleanup_close_pair_ int server_pair[2] = { -EBADF, -EBADF }, client_pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int server_pair[2] = PIPE_EBADF, client_pair[2] = PIPE_EBADF;
|
||||
_cleanup_(sd_event_source_unrefp) sd_event_source *idle_event_source = NULL,
|
||||
*server_event_source = NULL, *client_event_source = NULL;
|
||||
_cleanup_(varlink_server_unrefp) VarlinkServer *s = NULL;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "tmpfile-util.h"
|
||||
|
||||
int import_fork_tar_x(const char *path, pid_t *ret) {
|
||||
_cleanup_close_pair_ int pipefd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pipefd[2] = PIPE_EBADF;
|
||||
bool use_selinux;
|
||||
pid_t pid;
|
||||
int r;
|
||||
@@ -64,7 +64,7 @@ int import_fork_tar_x(const char *path, pid_t *ret) {
|
||||
|
||||
pipefd[1] = safe_close(pipefd[1]);
|
||||
|
||||
r = rearrange_stdio(TAKE_FD(pipefd[0]), -1, STDERR_FILENO);
|
||||
r = rearrange_stdio(TAKE_FD(pipefd[0]), -EBADF, STDERR_FILENO);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to rearrange stdin/stdout: %m");
|
||||
_exit(EXIT_FAILURE);
|
||||
@@ -96,7 +96,7 @@ int import_fork_tar_x(const char *path, pid_t *ret) {
|
||||
}
|
||||
|
||||
int import_fork_tar_c(const char *path, pid_t *ret) {
|
||||
_cleanup_close_pair_ int pipefd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pipefd[2] = PIPE_EBADF;
|
||||
bool use_selinux;
|
||||
pid_t pid;
|
||||
int r;
|
||||
@@ -130,7 +130,7 @@ int import_fork_tar_c(const char *path, pid_t *ret) {
|
||||
|
||||
pipefd[0] = safe_close(pipefd[0]);
|
||||
|
||||
r = rearrange_stdio(-1, TAKE_FD(pipefd[1]), STDERR_FILENO);
|
||||
r = rearrange_stdio(-EBADF, TAKE_FD(pipefd[1]), STDERR_FILENO);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to rearrange stdin/stdout: %m");
|
||||
_exit(EXIT_FAILURE);
|
||||
|
||||
@@ -356,7 +356,7 @@ static int transfer_on_log(sd_event_source *s, int fd, uint32_t revents, void *u
|
||||
}
|
||||
|
||||
static int transfer_start(Transfer *t) {
|
||||
_cleanup_close_pair_ int pipefd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pipefd[2] = PIPE_EBADF;
|
||||
int r;
|
||||
|
||||
assert(t);
|
||||
|
||||
@@ -381,7 +381,7 @@ static int verify_gpg(
|
||||
const void *payload, size_t payload_size,
|
||||
const void *signature, size_t signature_size) {
|
||||
|
||||
_cleanup_close_pair_ int gpg_pipe[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int gpg_pipe[2] = PIPE_EBADF;
|
||||
char sig_file_path[] = "/tmp/sigXXXXXX", gpg_home[] = "/tmp/gpghomeXXXXXX";
|
||||
_cleanup_(sigkill_waitp) pid_t pid = 0;
|
||||
bool gpg_home_created = false;
|
||||
@@ -395,7 +395,7 @@ static int verify_gpg(
|
||||
return log_error_errno(errno, "Failed to create pipe for gpg: %m");
|
||||
|
||||
if (signature_size > 0) {
|
||||
_cleanup_close_ int sig_file = -1;
|
||||
_cleanup_close_ int sig_file = -EBADF;
|
||||
|
||||
sig_file = mkostemp(sig_file_path, O_RDWR);
|
||||
if (sig_file < 0)
|
||||
@@ -440,7 +440,7 @@ static int verify_gpg(
|
||||
|
||||
gpg_pipe[1] = safe_close(gpg_pipe[1]);
|
||||
|
||||
r = rearrange_stdio(TAKE_FD(gpg_pipe[0]), -1, STDERR_FILENO);
|
||||
r = rearrange_stdio(TAKE_FD(gpg_pipe[0]), -EBADF, STDERR_FILENO);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to rearrange stdin/stdout: %m");
|
||||
_exit(EXIT_FAILURE);
|
||||
|
||||
@@ -311,7 +311,7 @@ static int process_event(Server *s, struct epoll_event *ev) {
|
||||
}
|
||||
|
||||
static int run(int argc, char *argv[]) {
|
||||
_cleanup_(server_done) Server server = { .epoll_fd = -1 };
|
||||
_cleanup_(server_done) Server server = { .epoll_fd = -EBADF };
|
||||
_unused_ _cleanup_(notify_on_cleanup) const char *notify_stop = NULL;
|
||||
int r, n;
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "fuzz-journald.h"
|
||||
#include "journald-stream.h"
|
||||
|
||||
static int stream_fds[2] = { -EBADF, -EBADF };
|
||||
static int stream_fds[2] = PIPE_EBADF;
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
Server s;
|
||||
|
||||
@@ -73,7 +73,7 @@ int arp_network_bind_raw_socket(int ifindex, const struct in_addr *a, const stru
|
||||
.ll.sll_halen = ETH_ALEN,
|
||||
.ll.sll_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(ifindex > 0);
|
||||
|
||||
@@ -98,7 +98,7 @@ static int _bind_raw_socket(
|
||||
.len = ELEMENTSOF(filter),
|
||||
.filter = filter
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
s = socket(AF_PACKET, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0);
|
||||
@@ -178,7 +178,7 @@ int dhcp_network_bind_udp_socket(int ifindex, be32_t address, uint16_t port, int
|
||||
.in.sin_port = htobe16(port),
|
||||
.in.sin_addr.s_addr = address,
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
s = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0);
|
||||
|
||||
@@ -23,7 +23,7 @@ int dhcp6_network_bind_udp_socket(int ifindex, struct in6_addr *local_address) {
|
||||
.in6.sin6_port = htobe16(DHCP6_PORT_CLIENT),
|
||||
.in6.sin6_scope_id = ifindex,
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(ifindex > 0);
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "fd-util.h"
|
||||
#include "fuzz.h"
|
||||
|
||||
static int test_dhcp_fd[2] = { -EBADF, -EBADF };
|
||||
static int test_dhcp_fd[2] = PIPE_EBADF;
|
||||
|
||||
int dhcp6_network_send_udp_socket(int s, struct in6_addr *server_address, const void *packet, size_t len) {
|
||||
return len;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "fuzz.h"
|
||||
#include "lldp-network.h"
|
||||
|
||||
static int test_fd[2] = { -EBADF, -EBADF };
|
||||
static int test_fd[2] = PIPE_EBADF;
|
||||
|
||||
int lldp_network_bind_raw_socket(int ifindex) {
|
||||
if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_fd) < 0)
|
||||
|
||||
@@ -4,14 +4,16 @@
|
||||
#include <netinet/icmp6.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "icmp6-util.h"
|
||||
#include "fuzz.h"
|
||||
#include "sd-ndisc.h"
|
||||
#include "socket-util.h"
|
||||
#include "ndisc-internal.h"
|
||||
|
||||
static int test_fd[2] = { -EBADF, -EBADF };
|
||||
#include "alloc-util.h"
|
||||
#include "fd-util.h"
|
||||
#include "fuzz.h"
|
||||
#include "icmp6-util.h"
|
||||
#include "ndisc-internal.h"
|
||||
#include "socket-util.h"
|
||||
|
||||
static int test_fd[2] = PIPE_EBADF;
|
||||
|
||||
int icmp6_bind_router_solicitation(int index) {
|
||||
assert_se(socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_fd) >= 0);
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
static int icmp6_bind_router_message(const struct icmp6_filter *filter,
|
||||
const struct ipv6_mreq *mreq) {
|
||||
int ifindex = mreq->ipv6mr_interface;
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(filter);
|
||||
|
||||
@@ -73,7 +73,7 @@ static const uint8_t server_id[] = { SERVER_ID_BYTES };
|
||||
static const struct ether_addr mac = {
|
||||
.ether_addr_octet = { 'A', 'B', 'C', '1', '2', '3' },
|
||||
};
|
||||
static int test_fd[2] = { -EBADF, -EBADF };
|
||||
static int test_fd[2] = PIPE_EBADF;
|
||||
static int test_ifindex = 42;
|
||||
static unsigned test_client_sent_message_count = 0;
|
||||
static sd_dhcp6_client *client_ref = NULL;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#define TEST_LLDP_TYPE_SYSTEM_NAME "systemd-lldp"
|
||||
#define TEST_LLDP_TYPE_SYSTEM_DESC "systemd-lldp-desc"
|
||||
|
||||
static int test_fd[2] = { -EBADF, -EBADF };
|
||||
static int test_fd[2] = PIPE_EBADF;
|
||||
static int lldp_rx_handler_calls;
|
||||
|
||||
int lldp_network_bind_raw_socket(int ifindex) {
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "string-util.h"
|
||||
|
||||
int bus_container_connect_socket(sd_bus *b) {
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
_cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, usernsfd = -EBADF, rootfd = -EBADF;
|
||||
int r, error_buf = 0;
|
||||
pid_t child;
|
||||
|
||||
@@ -211,9 +211,9 @@ int main(int argc, char *argv[]) {
|
||||
MODE_CHART,
|
||||
} mode = MODE_BISECT;
|
||||
Type type = TYPE_LEGACY;
|
||||
int i, pair[2] = { -EBADF, -EBADF };
|
||||
int i, pair[2] = PIPE_EBADF;
|
||||
_cleanup_free_ char *address = NULL, *server_name = NULL;
|
||||
_cleanup_close_ int bus_ref = -1;
|
||||
_cleanup_close_ int bus_ref = -EBADF;
|
||||
const char *unique;
|
||||
cpu_set_t cpuset;
|
||||
size_t result;
|
||||
|
||||
@@ -260,7 +260,7 @@ static void* client1(void *p) {
|
||||
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
const char *hello;
|
||||
int r;
|
||||
_cleanup_close_pair_ int pp[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pp[2] = PIPE_EBADF;
|
||||
char x;
|
||||
|
||||
r = sd_bus_open_user(&bus);
|
||||
|
||||
@@ -549,7 +549,7 @@ finish:
|
||||
}
|
||||
|
||||
_public_ int sd_notify_barrier(int unset_environment, uint64_t timeout) {
|
||||
_cleanup_close_pair_ int pipe_fd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pipe_fd[2] = PIPE_EBADF;
|
||||
int r;
|
||||
|
||||
if (pipe2(pipe_fd, O_CLOEXEC) < 0)
|
||||
|
||||
@@ -130,7 +130,7 @@ int device_monitor_get_fd(sd_device_monitor *m) {
|
||||
|
||||
int device_monitor_new_full(sd_device_monitor **ret, MonitorNetlinkGroup group, int fd) {
|
||||
_cleanup_(sd_device_monitor_unrefp) sd_device_monitor *m = NULL;
|
||||
_cleanup_close_ int sock = -1;
|
||||
_cleanup_close_ int sock = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(group >= 0 && group < _MONITOR_NETLINK_GROUP_MAX);
|
||||
@@ -184,7 +184,7 @@ int device_monitor_new_full(sd_device_monitor **ret, MonitorNetlinkGroup group,
|
||||
}
|
||||
|
||||
if (DEBUG_LOGGING) {
|
||||
_cleanup_close_ int netns = -1;
|
||||
_cleanup_close_ int netns = -EBADF;
|
||||
|
||||
/* So here's the thing: only AF_NETLINK sockets from the main network namespace will get
|
||||
* hardware events. Let's check if ours is from there, and if not generate a debug message,
|
||||
|
||||
@@ -2072,7 +2072,7 @@ static int event_add_inotify_fd_internal(
|
||||
sd_event_inotify_handler_t callback,
|
||||
void *userdata) {
|
||||
|
||||
_cleanup_close_ int donated_fd = donate ? fd : -1;
|
||||
_cleanup_close_ int donated_fd = donate ? fd : -EBADF;
|
||||
_cleanup_(source_freep) sd_event_source *s = NULL;
|
||||
struct inotify_data *inotify_data = NULL;
|
||||
struct inode_data *inode_data = NULL;
|
||||
|
||||
@@ -198,8 +198,8 @@ static void test_basic_one(bool with_pidfd) {
|
||||
sd_event *e = NULL;
|
||||
sd_event_source *w = NULL, *x = NULL, *y = NULL, *z = NULL, *q = NULL, *t = NULL;
|
||||
static const char ch = 'x';
|
||||
int a[2] = { -EBADF, -EBADF }, b[2] = { -EBADF, -EBADF },
|
||||
d[2] = { -EBADF, -EBADF }, k[2] = { -EBADF, -EBADF };
|
||||
int a[2] = PIPE_EBADF, b[2] = PIPE_EBADF,
|
||||
d[2] = PIPE_EBADF, k[2] = PIPE_EBADF;
|
||||
uint64_t event_now;
|
||||
int64_t priority;
|
||||
|
||||
@@ -628,7 +628,7 @@ static int ratelimit_expired(sd_event_source *s, void *userdata) {
|
||||
}
|
||||
|
||||
TEST(ratelimit) {
|
||||
_cleanup_close_pair_ int p[2] = {-1, -1};
|
||||
_cleanup_close_pair_ int p[2] = PIPE_EBADF;
|
||||
_cleanup_(sd_event_unrefp) sd_event *e = NULL;
|
||||
_cleanup_(sd_event_source_unrefp) sd_event_source *s = NULL;
|
||||
uint64_t interval;
|
||||
|
||||
@@ -37,7 +37,7 @@ static const char *e(int r) {
|
||||
}
|
||||
|
||||
TEST(login) {
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
_cleanup_free_ char *pp = NULL, *qq = NULL,
|
||||
*display_session = NULL, *cgroup = NULL,
|
||||
*display = NULL, *remote_user = NULL, *remote_host = NULL,
|
||||
|
||||
@@ -31,7 +31,7 @@ int bus_image_method_remove(
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
|
||||
Image *image = ASSERT_PTR(userdata);
|
||||
Manager *m = image->userdata;
|
||||
pid_t child;
|
||||
@@ -145,7 +145,7 @@ int bus_image_method_clone(
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
|
||||
Image *image = ASSERT_PTR(userdata);
|
||||
Manager *m = ASSERT_PTR(image->userdata);
|
||||
const char *new_name;
|
||||
|
||||
@@ -223,7 +223,7 @@ int bus_machine_method_get_addresses(sd_bus_message *message, void *userdata, sd
|
||||
}
|
||||
|
||||
case MACHINE_CONTAINER: {
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
_cleanup_free_ char *us = NULL, *them = NULL;
|
||||
_cleanup_close_ int netns_fd = -EBADF;
|
||||
const char *p;
|
||||
@@ -371,7 +371,7 @@ int bus_machine_method_get_os_release(sd_bus_message *message, void *userdata, s
|
||||
|
||||
case MACHINE_CONTAINER: {
|
||||
_cleanup_close_ int mntns_fd = -EBADF, root_fd = -EBADF, pidns_fd = -EBADF;
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
pid_t child;
|
||||
|
||||
@@ -436,7 +436,7 @@ int bus_machine_method_get_os_release(sd_bus_message *message, void *userdata, s
|
||||
int bus_machine_method_open_pty(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
|
||||
_cleanup_free_ char *pty_name = NULL;
|
||||
_cleanup_close_ int master = -1;
|
||||
_cleanup_close_ int master = -EBADF;
|
||||
Machine *m = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
|
||||
@@ -525,7 +525,7 @@ int bus_machine_method_open_login(sd_bus_message *message, void *userdata, sd_bu
|
||||
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
|
||||
_cleanup_free_ char *pty_name = NULL;
|
||||
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *allocated_bus = NULL;
|
||||
_cleanup_close_ int master = -1;
|
||||
_cleanup_close_ int master = -EBADF;
|
||||
sd_bus *container_bus = NULL;
|
||||
Machine *m = ASSERT_PTR(userdata);
|
||||
const char *p, *getty;
|
||||
@@ -588,7 +588,7 @@ int bus_machine_method_open_shell(sd_bus_message *message, void *userdata, sd_bu
|
||||
_cleanup_free_ char *pty_name = NULL;
|
||||
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *allocated_bus = NULL;
|
||||
sd_bus *container_bus = NULL;
|
||||
_cleanup_close_ int master = -1, slave = -1;
|
||||
_cleanup_close_ int master = -EBADF, slave = -EBADF;
|
||||
_cleanup_strv_free_ char **env = NULL, **args_wire = NULL, **args = NULL;
|
||||
Machine *m = ASSERT_PTR(userdata);
|
||||
const char *p, *unit, *user, *path, *description, *utmp_id;
|
||||
@@ -888,7 +888,7 @@ int bus_machine_method_bind_mount(sd_bus_message *message, void *userdata, sd_bu
|
||||
int bus_machine_method_copy(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
_cleanup_free_ char *host_basename = NULL, *container_basename = NULL;
|
||||
const char *src, *dest, *host_path, *container_path;
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
|
||||
CopyFlags copy_flags = COPY_REFLINK|COPY_MERGE|COPY_HARDLINKS;
|
||||
_cleanup_close_ int hostfd = -EBADF;
|
||||
Machine *m = ASSERT_PTR(userdata);
|
||||
@@ -1085,7 +1085,7 @@ int bus_machine_method_open_root_directory(sd_bus_message *message, void *userda
|
||||
|
||||
case MACHINE_CONTAINER: {
|
||||
_cleanup_close_ int mntns_fd = -EBADF, root_fd = -EBADF;
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
pid_t child;
|
||||
|
||||
r = namespace_open(m->leader, NULL, &mntns_fd, NULL, NULL, &root_fd);
|
||||
|
||||
@@ -683,7 +683,7 @@ static int method_clean_pool(sd_bus_message *message, void *userdata, sd_bus_err
|
||||
REMOVE_HIDDEN,
|
||||
} mode;
|
||||
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
|
||||
_cleanup_close_ int result_fd = -EBADF;
|
||||
Manager *m = userdata;
|
||||
Operation *operation;
|
||||
|
||||
@@ -39,7 +39,7 @@ static int spawn_getent(const char *database, const char *key, pid_t *rpid) {
|
||||
|
||||
pipe_fds[0] = safe_close(pipe_fds[0]);
|
||||
|
||||
if (rearrange_stdio(-1, TAKE_FD(pipe_fds[1]), -1) < 0)
|
||||
if (rearrange_stdio(-EBADF, TAKE_FD(pipe_fds[1]), -EBADF) < 0)
|
||||
_exit(EXIT_FAILURE);
|
||||
|
||||
(void) close_all_fds(NULL, 0);
|
||||
|
||||
+7
-7
@@ -2376,7 +2376,7 @@ static int setup_pts(const char *dest) {
|
||||
}
|
||||
|
||||
static int setup_stdio_as_dev_console(void) {
|
||||
_cleanup_close_ int terminal = -1;
|
||||
_cleanup_close_ int terminal = -EBADF;
|
||||
int r;
|
||||
|
||||
/* We open the TTY in O_NOCTTY mode, so that we do not become controller yet. We'll do that later
|
||||
@@ -3348,7 +3348,7 @@ static int inner_child(
|
||||
}
|
||||
|
||||
if (arg_console_mode != CONSOLE_PIPE) {
|
||||
_cleanup_close_ int master = -1;
|
||||
_cleanup_close_ int master = -EBADF;
|
||||
_cleanup_free_ char *console = NULL;
|
||||
|
||||
/* Allocate a pty and make it available as /dev/console. */
|
||||
@@ -4742,12 +4742,12 @@ static int run_container(
|
||||
};
|
||||
|
||||
_cleanup_(release_lock_file) LockFile uid_shift_lock = LOCK_FILE_INIT;
|
||||
_cleanup_close_ int etc_passwd_lock = -1;
|
||||
_cleanup_close_ int etc_passwd_lock = -EBADF;
|
||||
_cleanup_close_pair_ int
|
||||
fd_inner_socket_pair[2] = { -EBADF, -EBADF },
|
||||
fd_outer_socket_pair[2] = { -EBADF, -EBADF };
|
||||
fd_inner_socket_pair[2] = PIPE_EBADF,
|
||||
fd_outer_socket_pair[2] = PIPE_EBADF;
|
||||
|
||||
_cleanup_close_ int notify_socket = -1, mntns_fd = -EBADF, fd_kmsg_fifo = -EBADF;
|
||||
_cleanup_close_ int notify_socket = -EBADF, mntns_fd = -EBADF, fd_kmsg_fifo = -EBADF;
|
||||
_cleanup_(barrier_destroy) Barrier barrier = BARRIER_NULL;
|
||||
_cleanup_(sd_event_source_unrefp) sd_event_source *notify_event_source = NULL;
|
||||
_cleanup_(sd_event_unrefp) sd_event *event = NULL;
|
||||
@@ -5413,7 +5413,7 @@ static int cant_be_in_netns(void) {
|
||||
static int run(int argc, char *argv[]) {
|
||||
bool secondary = false, remove_directory = false, remove_image = false,
|
||||
veth_created = false, remove_tmprootdir = false;
|
||||
_cleanup_close_ int master = -1;
|
||||
_cleanup_close_ int master = -EBADF;
|
||||
_cleanup_fdset_free_ FDSet *fds = NULL;
|
||||
int r, n_fd_passed, ret = EXIT_SUCCESS;
|
||||
char veth_name[IFNAMSIZ] = "";
|
||||
|
||||
@@ -355,7 +355,7 @@ static int portable_extract_by_path(
|
||||
else {
|
||||
_cleanup_(dissected_image_unrefp) DissectedImage *m = NULL;
|
||||
_cleanup_(rmdir_and_freep) char *tmpdir = NULL;
|
||||
_cleanup_(close_pairp) int seq[2] = { -EBADF, -EBADF };
|
||||
_cleanup_(close_pairp) int seq[2] = PIPE_EBADF;
|
||||
_cleanup_(sigkill_waitp) pid_t child = 0;
|
||||
|
||||
/* We now have a loopback block device, let's fork off a child in its own mount namespace, mount it
|
||||
|
||||
@@ -486,7 +486,7 @@ int bus_image_common_remove(
|
||||
Image *image,
|
||||
sd_bus_error *error) {
|
||||
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
|
||||
_cleanup_(sigkill_waitp) pid_t child = 0;
|
||||
PortableState state;
|
||||
int r;
|
||||
|
||||
@@ -141,7 +141,7 @@ int manager_llmnr_ipv4_udp_fd(Manager *m) {
|
||||
.in.sin_family = AF_INET,
|
||||
.in.sin_port = htobe16(LLMNR_PORT),
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
@@ -211,7 +211,7 @@ int manager_llmnr_ipv6_udp_fd(Manager *m) {
|
||||
.in6.sin6_family = AF_INET6,
|
||||
.in6.sin6_port = htobe16(LLMNR_PORT),
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
@@ -344,7 +344,7 @@ int manager_llmnr_ipv4_tcp_fd(Manager *m) {
|
||||
.in.sin_family = AF_INET,
|
||||
.in.sin_port = htobe16(LLMNR_PORT),
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
@@ -410,7 +410,7 @@ int manager_llmnr_ipv6_tcp_fd(Manager *m) {
|
||||
.in6.sin6_family = AF_INET6,
|
||||
.in6.sin6_port = htobe16(LLMNR_PORT),
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
|
||||
@@ -466,7 +466,7 @@ int manager_mdns_ipv4_fd(Manager *m) {
|
||||
.in.sin_family = AF_INET,
|
||||
.in.sin_port = htobe16(MDNS_PORT),
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
@@ -541,7 +541,7 @@ int manager_mdns_ipv6_fd(Manager *m) {
|
||||
.in6.sin6_family = AF_INET6,
|
||||
.in6.sin6_port = htobe16(MDNS_PORT),
|
||||
};
|
||||
_cleanup_close_ int s = -1;
|
||||
_cleanup_close_ int s = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
|
||||
+1
-1
@@ -267,7 +267,7 @@ static void context_save_and_clear(Context *c) {
|
||||
}
|
||||
|
||||
static int run(int argc, char *argv[]) {
|
||||
_cleanup_(context_save_and_clear) Context c = { .rfkill_fd = -1 };
|
||||
_cleanup_(context_save_and_clear) Context c = { .rfkill_fd = -EBADF };
|
||||
bool ready = false;
|
||||
int r, n;
|
||||
|
||||
|
||||
+1
-1
@@ -1107,7 +1107,7 @@ static int start_transient_service(
|
||||
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
_cleanup_(bus_wait_for_jobs_freep) BusWaitForJobs *w = NULL;
|
||||
_cleanup_free_ char *service = NULL, *pty_path = NULL;
|
||||
_cleanup_close_ int master = -1;
|
||||
_cleanup_close_ int master = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(bus);
|
||||
|
||||
+1
-1
@@ -526,7 +526,7 @@ static int hardlink_context_setup(
|
||||
const char *to,
|
||||
CopyFlags copy_flags) {
|
||||
|
||||
_cleanup_close_ int dt_copy = -1;
|
||||
_cleanup_close_ int dt_copy = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(c);
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#define DATA_FD_TMP_LIMIT (1024U*1024U)
|
||||
|
||||
int acquire_data_fd(const void *data, size_t size, unsigned flags) {
|
||||
_cleanup_close_pair_ int pipefds[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pipefds[2] = PIPE_EBADF;
|
||||
char pattern[] = "/dev/shm/data-fd-XXXXXX";
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int isz = 0, r;
|
||||
@@ -218,7 +218,7 @@ int copy_data_fd(int fd) {
|
||||
/* Hmm, pity, this didn't fit. Let's fall back to /tmp then, see below */
|
||||
|
||||
} else {
|
||||
_cleanup_(close_pairp) int pipefds[2] = { -EBADF, -EBADF };
|
||||
_cleanup_(close_pairp) int pipefds[2] = PIPE_EBADF;
|
||||
int isz;
|
||||
|
||||
/* If memfds aren't available, use a pipe. Set O_NONBLOCK so that we will get EAGAIN rather
|
||||
|
||||
@@ -2696,7 +2696,7 @@ int dissected_image_acquire_metadata(DissectedImage *m, DissectImageFlags extra_
|
||||
};
|
||||
|
||||
_cleanup_strv_free_ char **machine_info = NULL, **os_release = NULL, **initrd_release = NULL, **extension_release = NULL;
|
||||
_cleanup_close_pair_ int error_pipe[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int error_pipe[2] = PIPE_EBADF;
|
||||
_cleanup_(rmdir_and_freep) char *t = NULL;
|
||||
_cleanup_(sigkill_waitp) pid_t child = 0;
|
||||
sd_id128_t machine_id = SD_ID128_NULL;
|
||||
|
||||
@@ -744,9 +744,9 @@ static int parse_elf(int fd, const char *executable, char **ret, JsonVariant **r
|
||||
}
|
||||
|
||||
int parse_elf_object(int fd, const char *executable, bool fork_disable_dump, char **ret, JsonVariant **ret_package_metadata) {
|
||||
_cleanup_close_pair_ int error_pipe[2] = { -EBADF, -EBADF },
|
||||
return_pipe[2] = { -EBADF, -EBADF },
|
||||
json_pipe[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int error_pipe[2] = PIPE_EBADF,
|
||||
return_pipe[2] = PIPE_EBADF,
|
||||
json_pipe[2] = PIPE_EBADF;
|
||||
_cleanup_(json_variant_unrefp) JsonVariant *package_metadata = NULL;
|
||||
_cleanup_free_ char *buf = NULL;
|
||||
int r;
|
||||
|
||||
@@ -1624,7 +1624,7 @@ int add_matches_for_user_unit(sd_journal *j, const char *unit, uid_t uid) {
|
||||
}
|
||||
|
||||
static int get_boot_id_for_machine(const char *machine, sd_id128_t *boot_id) {
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int pair[2] = PIPE_EBADF;
|
||||
_cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, rootfd = -EBADF;
|
||||
char buf[SD_ID128_UUID_STRING_MAX];
|
||||
pid_t pid, child;
|
||||
|
||||
@@ -683,7 +683,7 @@ int loop_device_make_by_path_memory(
|
||||
}
|
||||
|
||||
static LoopDevice* loop_device_free(LoopDevice *d) {
|
||||
_cleanup_close_ int control = -1;
|
||||
_cleanup_close_ int control = -EBADF;
|
||||
int r;
|
||||
|
||||
if (!d)
|
||||
|
||||
@@ -806,7 +806,7 @@ static int mount_in_namespace(
|
||||
const MountOptions *options,
|
||||
bool is_image) {
|
||||
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
|
||||
_cleanup_close_ int mntns_fd = -EBADF, root_fd = -EBADF, pidns_fd = -EBADF, chased_src_fd = -EBADF;
|
||||
char mount_slave[] = "/tmp/propagate.XXXXXX", *mount_tmp, *mount_outside, *p;
|
||||
bool mount_slave_created = false, mount_slave_mounted = false,
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ static int no_quit_on_interrupt(int exe_name_fd, const char *less_opts) {
|
||||
}
|
||||
|
||||
void pager_open(PagerFlags flags) {
|
||||
_cleanup_close_pair_ int fd[2] = { -EBADF, -EBADF }, exe_name_pipe[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int fd[2] = PIPE_EBADF, exe_name_pipe[2] = PIPE_EBADF;
|
||||
_cleanup_strv_free_ char **pager_args = NULL;
|
||||
_cleanup_free_ char *l = NULL;
|
||||
const char *pager, *less_opts;
|
||||
|
||||
@@ -487,8 +487,8 @@ static int add_connection_socket(Context *context, int fd) {
|
||||
.context = context,
|
||||
.server_fd = fd,
|
||||
.client_fd = -EBADF,
|
||||
.server_to_client_buffer = { -EBADF, -EBADF },
|
||||
.client_to_server_buffer = { -EBADF, -EBADF },
|
||||
.server_to_client_buffer = PIPE_EBADF,
|
||||
.client_to_server_buffer = PIPE_EBADF,
|
||||
};
|
||||
|
||||
r = set_ensure_put(&context->connections, NULL, c);
|
||||
|
||||
@@ -242,7 +242,7 @@ static int download_manifest(
|
||||
size_t *ret_size) {
|
||||
|
||||
_cleanup_free_ char *buffer = NULL, *suffixed_url = NULL;
|
||||
_cleanup_(close_pairp) int pfd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_(close_pairp) int pfd[2] = PIPE_EBADF;
|
||||
_cleanup_fclose_ FILE *manifest = NULL;
|
||||
size_t size = 0;
|
||||
pid_t pid;
|
||||
@@ -282,7 +282,7 @@ static int download_manifest(
|
||||
|
||||
pfd[0] = safe_close(pfd[0]);
|
||||
|
||||
r = rearrange_stdio(-1, pfd[1], STDERR_FILENO);
|
||||
r = rearrange_stdio(-EBADF, pfd[1], STDERR_FILENO);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to rearrange stdin/stdout: %m");
|
||||
_exit(EXIT_FAILURE);
|
||||
|
||||
@@ -251,7 +251,7 @@ static int load_group_database(void) {
|
||||
static int make_backup(const char *target, const char *x) {
|
||||
_cleanup_(unlink_and_freep) char *dst_tmp = NULL;
|
||||
_cleanup_fclose_ FILE *dst = NULL;
|
||||
_cleanup_close_ int src = -1;
|
||||
_cleanup_close_ int src = -EBADF;
|
||||
const char *backup;
|
||||
struct stat st;
|
||||
int r;
|
||||
@@ -2093,7 +2093,7 @@ static int run(int argc, char *argv[]) {
|
||||
_cleanup_(loop_device_unrefp) LoopDevice *loop_device = NULL;
|
||||
_cleanup_(umount_and_rmdir_and_freep) char *unlink_dir = NULL;
|
||||
#endif
|
||||
_cleanup_close_ int lock = -1;
|
||||
_cleanup_close_ int lock = -EBADF;
|
||||
Item *i;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -170,7 +170,7 @@ _unused_ static void test_compress_stream(int flag,
|
||||
decompress_stream_t decompress,
|
||||
const char *srcfile) {
|
||||
|
||||
_cleanup_close_ int src = -1, dst = -1, dst2 = -1;
|
||||
_cleanup_close_ int src = -EBADF, dst = -EBADF, dst2 = -EBADF;
|
||||
_cleanup_(unlink_tempfilep) char
|
||||
pattern[] = "/tmp/systemd-test.compressed.XXXXXX",
|
||||
pattern2[] = "/tmp/systemd-test.compressed.XXXXXX";
|
||||
|
||||
@@ -78,7 +78,7 @@ TEST(copy_tree_replace_file) {
|
||||
|
||||
TEST(copy_tree_replace_dirs) {
|
||||
_cleanup_(rm_rf_physical_and_freep) char *srcp = NULL, *dstp = NULL;
|
||||
_cleanup_close_ int src = -1, dst = -1;
|
||||
_cleanup_close_ int src = -EBADF, dst = -EBADF;
|
||||
|
||||
/* Create the random source/destination directories */
|
||||
assert_se((src = mkdtemp_open(NULL, 0, &srcp)) >= 0);
|
||||
@@ -257,7 +257,7 @@ TEST(copy_tree) {
|
||||
}
|
||||
|
||||
TEST(copy_bytes) {
|
||||
_cleanup_close_pair_ int pipefd[2] = {-1, -1};
|
||||
_cleanup_close_pair_ int pipefd[2] = PIPE_EBADF;
|
||||
_cleanup_close_ int infd = -EBADF;
|
||||
int r, r2;
|
||||
char buf[1024], buf2[1024];
|
||||
|
||||
@@ -81,7 +81,7 @@ static void assert_equal_fd(int fd1, int fd2) {
|
||||
|
||||
TEST(copy_data_fd) {
|
||||
_cleanup_close_ int fd1 = -EBADF, fd2 = -EBADF;
|
||||
_cleanup_(close_pairp) int sfd[2] = { -EBADF, -EBADF };
|
||||
_cleanup_(close_pairp) int sfd[2] = PIPE_EBADF;
|
||||
_cleanup_(sigkill_waitp) pid_t pid = -1;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -559,7 +559,7 @@ static int find_libraries(const char *exec, char ***ret) {
|
||||
_cleanup_(sd_event_source_unrefp) sd_event_source *sigchld_source = NULL;
|
||||
_cleanup_(sd_event_source_unrefp) sd_event_source *stdout_source = NULL;
|
||||
_cleanup_(sd_event_source_unrefp) sd_event_source *stderr_source = NULL;
|
||||
_cleanup_close_pair_ int outpipe[2] = {-1, -1}, errpipe[2] = {-1, -1};
|
||||
_cleanup_close_pair_ int outpipe[2] = PIPE_EBADF, errpipe[2] = PIPE_EBADF;
|
||||
_cleanup_strv_free_ char **libraries = NULL;
|
||||
_cleanup_free_ char *result = NULL;
|
||||
pid_t pid;
|
||||
@@ -576,7 +576,7 @@ static int find_libraries(const char *exec, char ***ret) {
|
||||
r = safe_fork("(spawn-ldd)", FORK_RESET_SIGNALS|FORK_DEATHSIG|FORK_LOG, &pid);
|
||||
assert_se(r >= 0);
|
||||
if (r == 0) {
|
||||
if (rearrange_stdio(-1, TAKE_FD(outpipe[1]), TAKE_FD(errpipe[1])) < 0)
|
||||
if (rearrange_stdio(-EBADF, TAKE_FD(outpipe[1]), TAKE_FD(errpipe[1])) < 0)
|
||||
_exit(EXIT_FAILURE);
|
||||
|
||||
(void) close_all_fds(NULL, 0);
|
||||
|
||||
@@ -133,7 +133,7 @@ TEST(rearrange_stdio) {
|
||||
|
||||
safe_close(STDERR_FILENO); /* Let's close an fd < 2, to make it more interesting */
|
||||
|
||||
assert_se(rearrange_stdio(-1, -1, -1) >= 0);
|
||||
assert_se(rearrange_stdio(-EBADF, -EBADF, -EBADF) >= 0);
|
||||
|
||||
assert_se(fd_get_path(STDIN_FILENO, &path) >= 0);
|
||||
assert_se(path_equal(path, "/dev/null"));
|
||||
@@ -170,7 +170,7 @@ TEST(rearrange_stdio) {
|
||||
assert_se(read(0, buffer, sizeof(buffer)) == 6);
|
||||
assert_se(memcmp(buffer, "foobar", 6) == 0);
|
||||
|
||||
assert_se(rearrange_stdio(-1, 1, 2) >= 0);
|
||||
assert_se(rearrange_stdio(-EBADF, 1, 2) >= 0);
|
||||
assert_se(write(1, "a", 1) < 0 && errno == ENOSPC);
|
||||
assert_se(write(2, "y", 1) == 1);
|
||||
assert_se(read(3, buffer, sizeof(buffer)) == 1);
|
||||
@@ -532,7 +532,7 @@ TEST(fd_reopen_condition) {
|
||||
|
||||
TEST(take_fd) {
|
||||
_cleanup_close_ int fd1 = -EBADF, fd2 = -EBADF;
|
||||
int array[2] = { -EBADF, -EBADF }, i = 0;
|
||||
int array[2] = PIPE_EBADF, i = 0;
|
||||
|
||||
assert_se(fd1 == -EBADF);
|
||||
assert_se(fd2 == -EBADF);
|
||||
|
||||
@@ -877,7 +877,7 @@ TEST(read_nul_string) {
|
||||
|
||||
TEST(read_full_file_socket) {
|
||||
_cleanup_(rm_rf_physical_and_freep) char *z = NULL;
|
||||
_cleanup_close_ int listener = -1;
|
||||
_cleanup_close_ int listener = -EBADF;
|
||||
_cleanup_free_ char *data = NULL, *clientname = NULL;
|
||||
union sockaddr_union sa;
|
||||
const char *j, *jj;
|
||||
|
||||
@@ -83,7 +83,7 @@ TEST(tmpdir) {
|
||||
}
|
||||
|
||||
static void test_shareable_ns(unsigned long nsflag) {
|
||||
_cleanup_close_pair_ int s[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_pair_ int s[2] = PIPE_EBADF;
|
||||
pid_t pid1, pid2, pid3;
|
||||
int r, n = 0;
|
||||
siginfo_t si;
|
||||
|
||||
@@ -66,7 +66,7 @@ TEST(read_one_char) {
|
||||
|
||||
TEST(getttyname_malloc) {
|
||||
_cleanup_free_ char *ttyname = NULL;
|
||||
_cleanup_close_ int master = -1;
|
||||
_cleanup_close_ int master = -EBADF;
|
||||
|
||||
assert_se((master = posix_openpt(O_RDWR|O_NOCTTY)) >= 0);
|
||||
assert_se(getttyname_malloc(master, &ttyname) >= 0);
|
||||
|
||||
@@ -191,7 +191,7 @@ int main(int argc, char *argv[]) {
|
||||
_cleanup_(rm_rf_physical_and_freep) char *tmpdir = NULL;
|
||||
_cleanup_(json_variant_unrefp) JsonVariant *v = NULL;
|
||||
_cleanup_(sd_event_unrefp) sd_event *e = NULL;
|
||||
_cleanup_(close_pairp) int block_fds[2] = { -EBADF, -EBADF };
|
||||
_cleanup_(close_pairp) int block_fds[2] = PIPE_EBADF;
|
||||
pthread_t t;
|
||||
const char *sp;
|
||||
|
||||
|
||||
@@ -1113,7 +1113,7 @@ int manager_new(Manager **ret) {
|
||||
|
||||
.connection_retry_usec = DEFAULT_CONNECTION_RETRY_USEC,
|
||||
|
||||
.server_socket = -1,
|
||||
.server_socket = -EBADF,
|
||||
|
||||
.ratelimit = (const RateLimit) {
|
||||
RATELIMIT_INTERVAL_USEC,
|
||||
|
||||
@@ -338,7 +338,7 @@ static int process_and_watch_password_files(bool watch) {
|
||||
};
|
||||
|
||||
_unused_ _cleanup_close_ int tty_block_fd = -EBADF;
|
||||
_cleanup_close_ int notify = -1, signal_fd = -EBADF;
|
||||
_cleanup_close_ int notify = -EBADF, signal_fd = -EBADF;
|
||||
struct pollfd pollfd[_FD_MAX];
|
||||
sigset_t mask;
|
||||
int r;
|
||||
|
||||
@@ -46,7 +46,7 @@ struct UdevCtrl {
|
||||
};
|
||||
|
||||
int udev_ctrl_new_from_fd(UdevCtrl **ret, int fd) {
|
||||
_cleanup_close_ int sock = -1;
|
||||
_cleanup_close_ int sock = -EBADF;
|
||||
UdevCtrl *uctrl;
|
||||
|
||||
assert(ret);
|
||||
@@ -64,7 +64,7 @@ int udev_ctrl_new_from_fd(UdevCtrl **ret, int fd) {
|
||||
*uctrl = (UdevCtrl) {
|
||||
.n_ref = 1,
|
||||
.sock = fd >= 0 ? fd : TAKE_FD(sock),
|
||||
.sock_connect = -1,
|
||||
.sock_connect = -EBADF,
|
||||
.bound = fd >= 0,
|
||||
};
|
||||
|
||||
@@ -217,7 +217,7 @@ static int udev_ctrl_connection_event_handler(sd_event_source *s, int fd, uint32
|
||||
|
||||
static int udev_ctrl_event_handler(sd_event_source *s, int fd, uint32_t revents, void *userdata) {
|
||||
UdevCtrl *uctrl = ASSERT_PTR(userdata);
|
||||
_cleanup_close_ int sock = -1;
|
||||
_cleanup_close_ int sock = -EBADF;
|
||||
struct ucred ucred;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -763,7 +763,7 @@ int udev_event_spawn(
|
||||
size_t ressize,
|
||||
bool *ret_truncated) {
|
||||
|
||||
_cleanup_close_pair_ int outpipe[2] = {-1, -1}, errpipe[2] = {-1, -1};
|
||||
_cleanup_close_pair_ int outpipe[2] = PIPE_EBADF, errpipe[2] = PIPE_EBADF;
|
||||
_cleanup_strv_free_ char **argv = NULL;
|
||||
char **envp = NULL;
|
||||
Spawn spawn;
|
||||
@@ -815,7 +815,7 @@ int udev_event_spawn(
|
||||
return log_device_error_errno(event->dev, r,
|
||||
"Failed to fork() to execute command '%s': %m", cmd);
|
||||
if (r == 0) {
|
||||
if (rearrange_stdio(-1, TAKE_FD(outpipe[WRITE_END]), TAKE_FD(errpipe[WRITE_END])) < 0)
|
||||
if (rearrange_stdio(-EBADF, TAKE_FD(outpipe[WRITE_END]), TAKE_FD(errpipe[WRITE_END])) < 0)
|
||||
_exit(EXIT_FAILURE);
|
||||
|
||||
(void) close_all_fds(NULL, 0);
|
||||
|
||||
+1
-1
@@ -1848,7 +1848,7 @@ static int manager_new(Manager **ret, int fd_ctrl, int fd_uevent) {
|
||||
|
||||
*manager = (Manager) {
|
||||
.inotify_fd = -EBADF,
|
||||
.worker_watch = { -EBADF, -EBADF },
|
||||
.worker_watch = PIPE_EBADF,
|
||||
.cgroup = TAKE_PTR(cgroup),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user