From 3bdf9c1d0a241eff2d17591854172725682b27cd Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Thu, 12 Apr 2012 14:40:20 +0200 Subject: move remainig shared stuff to shared/ --- src/shared/ask-password-api.c | 577 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 577 insertions(+) create mode 100644 src/shared/ask-password-api.c (limited to 'src/shared/ask-password-api.c') diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c new file mode 100644 index 0000000000..55be807cf2 --- /dev/null +++ b/src/shared/ask-password-api.c @@ -0,0 +1,577 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + +/*** + This file is part of systemd. + + Copyright 2010 Lennart Poettering + + systemd is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. + + systemd is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with systemd; If not, see . +***/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "util.h" +#include "mkdir.h" +#include "strv.h" + +#include "ask-password-api.h" + +static void backspace_chars(int ttyfd, size_t p) { + + if (ttyfd < 0) + return; + + while (p > 0) { + p--; + + loop_write(ttyfd, "\b \b", 3, false); + } +} + +int ask_password_tty( + const char *message, + usec_t until, + const char *flag_file, + char **_passphrase) { + + struct termios old_termios, new_termios; + char passphrase[LINE_MAX]; + size_t p = 0; + int r, ttyfd = -1, notify = -1; + struct pollfd pollfd[2]; + bool reset_tty = false; + bool silent_mode = false; + bool dirty = false; + enum { + POLL_TTY, + POLL_INOTIFY + }; + + assert(message); + assert(_passphrase); + + if (flag_file) { + if ((notify = inotify_init1(IN_CLOEXEC|IN_NONBLOCK)) < 0) { + r = -errno; + goto finish; + } + + if (inotify_add_watch(notify, flag_file, IN_ATTRIB /* for the link count */) < 0) { + r = -errno; + goto finish; + } + } + + if ((ttyfd = open("/dev/tty", O_RDWR|O_NOCTTY|O_CLOEXEC)) >= 0) { + + if (tcgetattr(ttyfd, &old_termios) < 0) { + r = -errno; + goto finish; + } + + loop_write(ttyfd, ANSI_HIGHLIGHT_ON, sizeof(ANSI_HIGHLIGHT_ON)-1, false); + loop_write(ttyfd, message, strlen(message), false); + loop_write(ttyfd, " ", 1, false); + loop_write(ttyfd, ANSI_HIGHLIGHT_OFF, sizeof(ANSI_HIGHLIGHT_OFF)-1, false); + + new_termios = old_termios; + new_termios.c_lflag &= ~(ICANON|ECHO); + new_termios.c_cc[VMIN] = 1; + new_termios.c_cc[VTIME] = 0; + + if (tcsetattr(ttyfd, TCSADRAIN, &new_termios) < 0) { + r = -errno; + goto finish; + } + + reset_tty = true; + } + + zero(pollfd); + + pollfd[POLL_TTY].fd = ttyfd >= 0 ? ttyfd : STDIN_FILENO; + pollfd[POLL_TTY].events = POLLIN; + pollfd[POLL_INOTIFY].fd = notify; + pollfd[POLL_INOTIFY].events = POLLIN; + + for (;;) { + char c; + int sleep_for = -1, k; + ssize_t n; + + if (until > 0) { + usec_t y; + + y = now(CLOCK_MONOTONIC); + + if (y > until) { + r = -ETIME; + goto finish; + } + + sleep_for = (int) ((until - y) / USEC_PER_MSEC); + } + + if (flag_file) + if (access(flag_file, F_OK) < 0) { + r = -errno; + goto finish; + } + + if ((k = poll(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { + + if (errno == EINTR) + continue; + + r = -errno; + goto finish; + } else if (k == 0) { + r = -ETIME; + goto finish; + } + + if (notify > 0 && pollfd[POLL_INOTIFY].revents != 0) + flush_fd(notify); + + if (pollfd[POLL_TTY].revents == 0) + continue; + + if ((n = read(ttyfd >= 0 ? ttyfd : STDIN_FILENO, &c, 1)) < 0) { + + if (errno == EINTR || errno == EAGAIN) + continue; + + r = -errno; + goto finish; + + } else if (n == 0) + break; + + if (c == '\n') + break; + else if (c == 21) { /* C-u */ + + if (!silent_mode) + backspace_chars(ttyfd, p); + p = 0; + + } else if (c == '\b' || c == 127) { + + if (p > 0) { + + if (!silent_mode) + backspace_chars(ttyfd, 1); + + p--; + } else if (!dirty && !silent_mode) { + + silent_mode = true; + + /* There are two ways to enter silent + * mode. Either by pressing backspace + * as first key (and only as first key), + * or ... */ + if (ttyfd >= 0) + loop_write(ttyfd, "(no echo) ", 10, false); + + } else if (ttyfd >= 0) + loop_write(ttyfd, "\a", 1, false); + + } else if (c == '\t' && !silent_mode) { + + backspace_chars(ttyfd, p); + silent_mode = true; + + /* ... or by pressing TAB at any time. */ + + if (ttyfd >= 0) + loop_write(ttyfd, "(no echo) ", 10, false); + } else { + passphrase[p++] = c; + + if (!silent_mode && ttyfd >= 0) + loop_write(ttyfd, "*", 1, false); + + dirty = true; + } + } + + passphrase[p] = 0; + + if (!(*_passphrase = strdup(passphrase))) { + r = -ENOMEM; + goto finish; + } + + r = 0; + +finish: + if (notify >= 0) + close_nointr_nofail(notify); + + if (ttyfd >= 0) { + + if (reset_tty) { + loop_write(ttyfd, "\n", 1, false); + tcsetattr(ttyfd, TCSADRAIN, &old_termios); + } + + close_nointr_nofail(ttyfd); + } + + return r; +} + +static int create_socket(char **name) { + int fd; + union { + struct sockaddr sa; + struct sockaddr_un un; + } sa; + int one = 1, r; + char *c; + mode_t u; + + assert(name); + + if ((fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0)) < 0) { + log_error("socket() failed: %m"); + return -errno; + } + + zero(sa); + sa.un.sun_family = AF_UNIX; + snprintf(sa.un.sun_path, sizeof(sa.un.sun_path)-1, "/run/systemd/ask-password/sck.%llu", random_ull()); + + u = umask(0177); + r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)); + umask(u); + + if (r < 0) { + r = -errno; + log_error("bind() failed: %m"); + goto fail; + } + + if (setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)) < 0) { + r = -errno; + log_error("SO_PASSCRED failed: %m"); + goto fail; + } + + if (!(c = strdup(sa.un.sun_path))) { + r = -ENOMEM; + log_error("Out of memory"); + goto fail; + } + + *name = c; + return fd; + +fail: + close_nointr_nofail(fd); + + return r; +} + +int ask_password_agent( + const char *message, + const char *icon, + usec_t until, + bool accept_cached, + char ***_passphrases) { + + enum { + FD_SOCKET, + FD_SIGNAL, + _FD_MAX + }; + + char temp[] = "/run/systemd/ask-password/tmp.XXXXXX"; + char final[sizeof(temp)] = ""; + int fd = -1, r; + FILE *f = NULL; + char *socket_name = NULL; + int socket_fd = -1, signal_fd = -1; + sigset_t mask, oldmask; + struct pollfd pollfd[_FD_MAX]; + mode_t u; + + assert(_passphrases); + + assert_se(sigemptyset(&mask) == 0); + sigset_add_many(&mask, SIGINT, SIGTERM, -1); + assert_se(sigprocmask(SIG_BLOCK, &mask, &oldmask) == 0); + + mkdir_p("/run/systemd/ask-password", 0755); + + u = umask(0022); + fd = mkostemp(temp, O_CLOEXEC|O_CREAT|O_WRONLY); + umask(u); + + if (fd < 0) { + log_error("Failed to create password file: %m"); + r = -errno; + goto finish; + } + + fchmod(fd, 0644); + + if (!(f = fdopen(fd, "w"))) { + log_error("Failed to allocate FILE: %m"); + r = -errno; + goto finish; + } + + fd = -1; + + if ((signal_fd = signalfd(-1, &mask, SFD_NONBLOCK|SFD_CLOEXEC)) < 0) { + log_error("signalfd(): %m"); + r = -errno; + goto finish; + } + + if ((socket_fd = create_socket(&socket_name)) < 0) { + r = socket_fd; + goto finish; + } + + fprintf(f, + "[Ask]\n" + "PID=%lu\n" + "Socket=%s\n" + "AcceptCached=%i\n" + "NotAfter=%llu\n", + (unsigned long) getpid(), + socket_name, + accept_cached ? 1 : 0, + (unsigned long long) until); + + if (message) + fprintf(f, "Message=%s\n", message); + + if (icon) + fprintf(f, "Icon=%s\n", icon); + + fflush(f); + + if (ferror(f)) { + log_error("Failed to write query file: %m"); + r = -errno; + goto finish; + } + + memcpy(final, temp, sizeof(temp)); + + final[sizeof(final)-11] = 'a'; + final[sizeof(final)-10] = 's'; + final[sizeof(final)-9] = 'k'; + + if (rename(temp, final) < 0) { + log_error("Failed to rename query file: %m"); + r = -errno; + goto finish; + } + + zero(pollfd); + pollfd[FD_SOCKET].fd = socket_fd; + pollfd[FD_SOCKET].events = POLLIN; + pollfd[FD_SIGNAL].fd = signal_fd; + pollfd[FD_SIGNAL].events = POLLIN; + + for (;;) { + char passphrase[LINE_MAX+1]; + struct msghdr msghdr; + struct iovec iovec; + struct ucred *ucred; + union { + struct cmsghdr cmsghdr; + uint8_t buf[CMSG_SPACE(sizeof(struct ucred))]; + } control; + ssize_t n; + int k; + usec_t t; + + t = now(CLOCK_MONOTONIC); + + if (until > 0 && until <= t) { + log_notice("Timed out"); + r = -ETIME; + goto finish; + } + + if ((k = poll(pollfd, _FD_MAX, until > 0 ? (int) ((until-t)/USEC_PER_MSEC) : -1)) < 0) { + + if (errno == EINTR) + continue; + + log_error("poll() failed: %m"); + r = -errno; + goto finish; + } + + if (k <= 0) { + log_notice("Timed out"); + r = -ETIME; + goto finish; + } + + if (pollfd[FD_SIGNAL].revents & POLLIN) { + r = -EINTR; + goto finish; + } + + if (pollfd[FD_SOCKET].revents != POLLIN) { + log_error("Unexpected poll() event."); + r = -EIO; + goto finish; + } + + zero(iovec); + iovec.iov_base = passphrase; + iovec.iov_len = sizeof(passphrase); + + zero(control); + zero(msghdr); + msghdr.msg_iov = &iovec; + msghdr.msg_iovlen = 1; + msghdr.msg_control = &control; + msghdr.msg_controllen = sizeof(control); + + if ((n = recvmsg(socket_fd, &msghdr, 0)) < 0) { + + if (errno == EAGAIN || + errno == EINTR) + continue; + + log_error("recvmsg() failed: %m"); + r = -errno; + goto finish; + } + + if (n <= 0) { + log_error("Message too short"); + continue; + } + + if (msghdr.msg_controllen < CMSG_LEN(sizeof(struct ucred)) || + control.cmsghdr.cmsg_level != SOL_SOCKET || + control.cmsghdr.cmsg_type != SCM_CREDENTIALS || + control.cmsghdr.cmsg_len != CMSG_LEN(sizeof(struct ucred))) { + log_warning("Received message without credentials. Ignoring."); + continue; + } + + ucred = (struct ucred*) CMSG_DATA(&control.cmsghdr); + if (ucred->uid != 0) { + log_warning("Got request from unprivileged user. Ignoring."); + continue; + } + + if (passphrase[0] == '+') { + char **l; + + if (n == 1) + l = strv_new("", NULL); + else + l = strv_parse_nulstr(passphrase+1, n-1); + /* An empty message refers to the empty password */ + + if (!l) { + r = -ENOMEM; + goto finish; + } + + if (strv_length(l) <= 0) { + strv_free(l); + log_error("Invalid packet"); + continue; + } + + *_passphrases = l; + + } else if (passphrase[0] == '-') { + r = -ECANCELED; + goto finish; + } else { + log_error("Invalid packet"); + continue; + } + + break; + } + + r = 0; + +finish: + if (fd >= 0) + close_nointr_nofail(fd); + + if (socket_name) { + unlink(socket_name); + free(socket_name); + } + + if (socket_fd >= 0) + close_nointr_nofail(socket_fd); + + if (signal_fd >= 0) + close_nointr_nofail(signal_fd); + + if (f) + fclose(f); + + unlink(temp); + + if (final[0]) + unlink(final); + + assert_se(sigprocmask(SIG_SETMASK, &oldmask, NULL) == 0); + + return r; +} + +int ask_password_auto(const char *message, const char *icon, usec_t until, bool accept_cached, char ***_passphrases) { + assert(message); + assert(_passphrases); + + if (isatty(STDIN_FILENO)) { + int r; + char *s = NULL, **l = NULL; + + if ((r = ask_password_tty(message, until, NULL, &s)) < 0) + return r; + + l = strv_new(s, NULL); + free(s); + + if (!l) + return -ENOMEM; + + *_passphrases = l; + return r; + + } else + return ask_password_agent(message, icon, until, accept_cached, _passphrases); +} -- cgit v1.2.3-54-g00ecf From d2e54fae5ca7a0f71b5ac8b356a589ff0a09ea0a Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Thu, 31 May 2012 12:40:20 +0200 Subject: mkdir: append _label to all mkdir() calls that explicitly set the selinux context --- src/core/automount.c | 4 ++-- src/core/dbus.c | 2 +- src/core/manager.c | 2 +- src/core/mount-setup.c | 6 +++--- src/core/mount.c | 4 ++-- src/core/path.c | 2 +- src/core/shutdown.c | 2 +- src/core/socket.c | 2 +- src/cryptsetup/cryptsetup-generator.c | 6 +++--- src/fstab-generator/fstab-generator.c | 10 +++++----- src/getty-generator/getty-generator.c | 2 +- src/journal/coredump.c | 2 +- src/journal/journald.c | 2 +- src/libudev/libudev-device-private.c | 4 ++-- src/locale/localed.c | 2 +- src/login/logind-dbus.c | 6 +++--- src/login/logind-inhibit.c | 4 ++-- src/login/logind-seat.c | 2 +- src/login/logind-session.c | 4 ++-- src/login/logind-user.c | 6 +++--- src/login/multi-seat-x.c | 2 +- src/nspawn/nspawn.c | 10 +++++----- src/random-seed/random-seed.c | 2 +- src/rc-local-generator/rc-local-generator.c | 2 +- src/shared/ask-password-api.c | 2 +- src/shared/cgroup-label.c | 2 +- src/shared/install.c | 2 +- src/shared/mkdir.c | 12 ++++++++---- src/shared/mkdir.h | 7 ++++--- src/shared/path-lookup.c | 2 +- src/shared/socket-label.c | 2 +- src/shutdownd/shutdownd.c | 2 +- src/test/test-udev.c | 2 +- src/tmpfiles/tmpfiles.c | 2 +- src/tty-ask-password-agent/tty-ask-password-agent.c | 4 ++-- src/udev/udev-builtin-firmware.c | 2 +- src/udev/udev-node.c | 6 +++--- src/udev/udev-watch.c | 2 +- src/udev/udevd.c | 4 ++-- 39 files changed, 74 insertions(+), 69 deletions(-) (limited to 'src/shared/ask-password-api.c') diff --git a/src/core/automount.c b/src/core/automount.c index e13259b388..64b6cff72e 100644 --- a/src/core/automount.c +++ b/src/core/automount.c @@ -499,7 +499,7 @@ static void automount_enter_waiting(Automount *a) { } /* We knowingly ignore the results of this call */ - mkdir_p(a->where, 0555); + mkdir_p_label(a->where, 0555); if (pipe2(p, O_NONBLOCK|O_CLOEXEC) < 0) { r = -errno; @@ -588,7 +588,7 @@ static void automount_enter_runnning(Automount *a) { return; } - mkdir_p(a->where, a->directory_mode); + mkdir_p_label(a->where, a->directory_mode); /* Before we do anything, let's see if somebody is playing games with us? */ if (lstat(a->where, &st) < 0) { diff --git a/src/core/dbus.c b/src/core/dbus.c index 434796456b..1bc83a2c2a 100644 --- a/src/core/dbus.c +++ b/src/core/dbus.c @@ -1095,7 +1095,7 @@ static int bus_init_private(Manager *m) { goto fail; } - mkdir_parents(p+10, 0755); + mkdir_parents_label(p+10, 0755); unlink(p+10); m->private_bus = dbus_server_listen(p, &error); free(p); diff --git a/src/core/manager.c b/src/core/manager.c index 5c6d63668d..dedcb74be6 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -2068,7 +2068,7 @@ static int create_generator_dir(Manager *m, char **generator, const char *name) return -ENOMEM; } - r = mkdir_p(p, 0755); + r = mkdir_p_label(p, 0755); if (r < 0) { log_error("Failed to create generator directory: %s", strerror(-r)); free(p); diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c index 56ce2ae71a..c26dedca60 100644 --- a/src/core/mount-setup.c +++ b/src/core/mount-setup.c @@ -130,7 +130,7 @@ static int mount_one(const MountPoint *p, bool relabel) { /* The access mode here doesn't really matter too much, since * the mounted file system will take precedence anyway. */ - mkdir_p(p->where, 0755); + mkdir_p_label(p->where, 0755); log_debug("Mounting %s to %s of type %s with options %s.", p->what, @@ -404,8 +404,8 @@ int mount_setup(bool loaded_policy) { dev_setup(); /* Create a few directories we always want around */ - label_mkdir("/run/systemd", 0755); - label_mkdir("/run/systemd/system", 0755); + mkdir_label("/run/systemd", 0755); + mkdir_label("/run/systemd/system", 0755); return 0; } diff --git a/src/core/mount.c b/src/core/mount.c index 11ac692c6c..b885baab00 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -915,12 +915,12 @@ static void mount_enter_mounting(Mount *m) { m->control_command_id = MOUNT_EXEC_MOUNT; m->control_command = m->exec_command + MOUNT_EXEC_MOUNT; - mkdir_p(m->where, m->directory_mode); + mkdir_p_label(m->where, m->directory_mode); /* Create the source directory for bind-mounts if needed */ p = get_mount_parameters_fragment(m); if (p && mount_is_bind(p)) - mkdir_p(p->what, m->directory_mode); + mkdir_p_label(p->what, m->directory_mode); if (m->from_fragment) r = exec_command_set( diff --git a/src/core/path.c b/src/core/path.c index d6fedc736a..6cf03add44 100644 --- a/src/core/path.c +++ b/src/core/path.c @@ -215,7 +215,7 @@ static void path_spec_mkdir(PathSpec *s, mode_t mode) { if (s->type == PATH_EXISTS || s->type == PATH_EXISTS_GLOB) return; - if ((r = mkdir_p(s->path, mode)) < 0) + if ((r = mkdir_p_label(s->path, mode)) < 0) log_warning("mkdir(%s) failed: %s", s->path, strerror(-r)); } diff --git a/src/core/shutdown.c b/src/core/shutdown.c index a8dfe2614f..baef66dd9d 100644 --- a/src/core/shutdown.c +++ b/src/core/shutdown.c @@ -238,7 +238,7 @@ static int prepare_new_root(void) { } NULSTR_FOREACH(dir, dirs) - if (mkdir_p(dir, 0755) < 0 && errno != EEXIST) { + if (mkdir_p_label(dir, 0755) < 0 && errno != EEXIST) { log_error("Failed to mkdir %s: %m", dir); return -errno; } diff --git a/src/core/socket.c b/src/core/socket.c index df47578a49..633663e7e0 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -761,7 +761,7 @@ static int fifo_address_create( assert(path); assert(_fd); - mkdir_parents(path, directory_mode); + mkdir_parents_label(path, directory_mode); r = label_context_set(path, S_IFIFO); if (r < 0) diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c index de64afd727..3961d5d965 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -175,7 +175,7 @@ static int create_disk( goto fail; } - mkdir_parents(to, 0755); + mkdir_parents_label(to, 0755); if (symlink(from, to) < 0) { log_error("Failed to create symlink '%s' to '%s': %m", from, to); r = -errno; @@ -193,7 +193,7 @@ static int create_disk( goto fail; } - mkdir_parents(to, 0755); + mkdir_parents_label(to, 0755); if (symlink(from, to) < 0) { log_error("Failed to create symlink '%s' to '%s': %m", from, to); r = -errno; @@ -211,7 +211,7 @@ static int create_disk( goto fail; } - mkdir_parents(to, 0755); + mkdir_parents_label(to, 0755); if (symlink(from, to) < 0) { log_error("Failed to create symlink '%s' to '%s': %m", from, to); r = -errno; diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 8676a20539..8419a0c5b4 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -151,7 +151,7 @@ static int add_swap(const char *what, struct mntent *me) { goto finish; } - mkdir_parents(lnk, 0755); + mkdir_parents_label(lnk, 0755); if (symlink(unit, lnk) < 0) { log_error("Failed to create symlink: %m"); r = -errno; @@ -174,7 +174,7 @@ static int add_swap(const char *what, struct mntent *me) { goto finish; } - mkdir_parents(lnk, 0755); + mkdir_parents_label(lnk, 0755); if (symlink(unit, lnk) < 0) { log_error("Failed to create symlink: %m"); r = -errno; @@ -326,7 +326,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { goto finish; } - mkdir_parents(lnk, 0755); + mkdir_parents_label(lnk, 0755); if (symlink(unit, lnk) < 0) { log_error("Failed to create symlink: %m"); r = -errno; @@ -352,7 +352,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { goto finish; } - mkdir_parents(lnk, 0755); + mkdir_parents_label(lnk, 0755); if (symlink(unit, lnk) < 0) { log_error("Failed to creat symlink: %m"); r = -errno; @@ -413,7 +413,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { goto finish; } - mkdir_parents(lnk, 0755); + mkdir_parents_label(lnk, 0755); if (symlink(automount_unit, lnk) < 0) { log_error("Failed to create symlink: %m"); r = -errno; diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c index 85600263f9..bb7c225e02 100644 --- a/src/getty-generator/getty-generator.c +++ b/src/getty-generator/getty-generator.c @@ -47,7 +47,7 @@ static int add_symlink(const char *fservice, const char *tservice) { goto finish; } - mkdir_parents(to, 0755); + mkdir_parents_label(to, 0755); r = symlink(from, to); if (r < 0) { diff --git a/src/journal/coredump.c b/src/journal/coredump.c index 10897f3461..300677bb92 100644 --- a/src/journal/coredump.c +++ b/src/journal/coredump.c @@ -54,7 +54,7 @@ static int divert_coredump(void) { log_info("Detected coredump of the journal daemon itself, diverting coredump to /var/lib/systemd/coredump/."); - mkdir_p("/var/lib/systemd/coredump", 0755); + mkdir_p_label("/var/lib/systemd/coredump", 0755); f = fopen("/var/lib/systemd/coredump/core.systemd-journald", "we"); if (!f) { diff --git a/src/journal/journald.c b/src/journal/journald.c index f034a569a9..e0e7cce122 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -1973,7 +1973,7 @@ static int system_journal_open(Server *s) { /* OK, we really need the runtime journal, so create * it if necessary. */ - (void) mkdir_parents(fn, 0755); + (void) mkdir_parents_label(fn, 0755); r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, NULL, &s->runtime_journal); free(fn); diff --git a/src/libudev/libudev-device-private.c b/src/libudev/libudev-device-private.c index 234773662b..bdb0e70c11 100644 --- a/src/libudev/libudev-device-private.c +++ b/src/libudev/libudev-device-private.c @@ -35,7 +35,7 @@ static void udev_device_tag(struct udev_device *dev, const char *tag, bool add) if (add) { int fd; - mkdir_parents(filename, 0755); + mkdir_parents_label(filename, 0755); fd = open(filename, O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444); if (fd >= 0) close(fd); @@ -119,7 +119,7 @@ int udev_device_update_db(struct udev_device *udev_device) /* write a database file */ util_strscpyl(filename_tmp, sizeof(filename_tmp), filename, ".tmp", NULL); - mkdir_parents(filename_tmp, 0755); + mkdir_parents_label(filename_tmp, 0755); f = fopen(filename_tmp, "we"); if (f == NULL) { udev_err(udev, "unable to create temporary db file '%s': %m\n", filename_tmp); diff --git a/src/locale/localed.c b/src/locale/localed.c index d582a9cbab..56fb339e19 100644 --- a/src/locale/localed.c +++ b/src/locale/localed.c @@ -591,7 +591,7 @@ static int write_data_x11(void) { return 0; } - mkdir_parents("/etc/X11/xorg.conf.d", 0755); + mkdir_parents_label("/etc/X11/xorg.conf.d", 0755); r = fopen_temporary("/etc/X11/xorg.conf.d/00-keyboard.conf", &f, &temp_path); if (r < 0) diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 5cdd0890e3..6175d57d8c 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -874,7 +874,7 @@ static int attach_device(Manager *m, const char *seat, const char *sysfs) { goto finish; } - mkdir_p("/etc/udev/rules.d", 0755); + mkdir_p_label("/etc/udev/rules.d", 0755); r = write_one_line_file_atomic(file, rule); if (r < 0) goto finish; @@ -1890,9 +1890,9 @@ static DBusHandlerResult manager_message_handler( if (r < 0) return bus_send_error_reply(connection, message, &error, r); - mkdir_p("/var/lib/systemd", 0755); + mkdir_p_label("/var/lib/systemd", 0755); - r = safe_mkdir("/var/lib/systemd/linger", 0755, 0, 0); + r = mkdir_safe_label("/var/lib/systemd/linger", 0755, 0, 0); if (r < 0) return bus_send_error_reply(connection, message, &error, r); diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c index 2d25b79c25..96b7c6cd7e 100644 --- a/src/login/logind-inhibit.c +++ b/src/login/logind-inhibit.c @@ -84,7 +84,7 @@ int inhibitor_save(Inhibitor *i) { assert(i); - r = safe_mkdir("/run/systemd/inhibit", 0755, 0, 0); + r = mkdir_safe_label("/run/systemd/inhibit", 0755, 0, 0); if (r < 0) goto finish; @@ -272,7 +272,7 @@ int inhibitor_create_fifo(Inhibitor *i) { /* Create FIFO */ if (!i->fifo_path) { - r = safe_mkdir("/run/systemd/inhibit", 0755, 0, 0); + r = mkdir_safe_label("/run/systemd/inhibit", 0755, 0, 0); if (r < 0) return r; diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c index 06debf887a..755f20c03a 100644 --- a/src/login/logind-seat.c +++ b/src/login/logind-seat.c @@ -91,7 +91,7 @@ int seat_save(Seat *s) { if (!s->started) return 0; - r = safe_mkdir("/run/systemd/seats", 0755, 0, 0); + r = mkdir_safe_label("/run/systemd/seats", 0755, 0, 0); if (r < 0) goto finish; diff --git a/src/login/logind-session.c b/src/login/logind-session.c index dd0de7805b..5c8d549316 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -116,7 +116,7 @@ int session_save(Session *s) { if (!s->started) return 0; - r = safe_mkdir("/run/systemd/sessions", 0755, 0, 0); + r = mkdir_safe_label("/run/systemd/sessions", 0755, 0, 0); if (r < 0) goto finish; @@ -816,7 +816,7 @@ int session_create_fifo(Session *s) { /* Create FIFO */ if (!s->fifo_path) { - r = safe_mkdir("/run/systemd/sessions", 0755, 0, 0); + r = mkdir_safe_label("/run/systemd/sessions", 0755, 0, 0); if (r < 0) return r; diff --git a/src/login/logind-user.c b/src/login/logind-user.c index 2b80ff844c..b971845e14 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c @@ -98,7 +98,7 @@ int user_save(User *u) { if (!u->started) return 0; - r = safe_mkdir("/run/systemd/users", 0755, 0, 0); + r = mkdir_safe_label("/run/systemd/users", 0755, 0, 0); if (r < 0) goto finish; @@ -250,7 +250,7 @@ static int user_mkdir_runtime_path(User *u) { assert(u); - r = safe_mkdir("/run/user", 0755, 0, 0); + r = mkdir_safe_label("/run/user", 0755, 0, 0); if (r < 0) { log_error("Failed to create /run/user: %s", strerror(-r)); return r; @@ -266,7 +266,7 @@ static int user_mkdir_runtime_path(User *u) { } else p = u->runtime_path; - r = safe_mkdir(p, 0700, u->uid, u->gid); + r = mkdir_safe_label(p, 0700, u->uid, u->gid); if (r < 0) { log_error("Failed to create runtime directory %s: %s", p, strerror(-r)); free(p); diff --git a/src/login/multi-seat-x.c b/src/login/multi-seat-x.c index 32d868888f..92014f5316 100644 --- a/src/login/multi-seat-x.c +++ b/src/login/multi-seat-x.c @@ -113,7 +113,7 @@ int main(int argc, char *argv[]) { goto fail; } - r = safe_mkdir("/run/systemd/multi-session-x", 0755, 0, 0); + r = mkdir_safe_label("/run/systemd/multi-session-x", 0755, 0, 0); if (r < 0) { log_error("Failed to create directory: %s", strerror(-r)); goto fail; diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 8a5eb34c7f..fec39d6448 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -222,7 +222,7 @@ static int mount_all(const char *dest) { continue; } - mkdir_p(where, 0755); + mkdir_p_label(where, 0755); if (mount(mount_table[k].what, where, @@ -1035,13 +1035,13 @@ int main(int argc, char *argv[]) { goto child_fail; } - if (mkdir_parents(home, 0775) < 0) { - log_error("mkdir_parents() failed: %m"); + if (mkdir_parents_label(home, 0775) < 0) { + log_error("mkdir_parents_label() failed: %m"); goto child_fail; } - if (safe_mkdir(home, 0775, uid, gid) < 0) { - log_error("safe_mkdir() failed: %m"); + if (mkdir_safe_label(home, 0775, uid, gid) < 0) { + log_error("mkdir_safe_label() failed: %m"); goto child_fail; } diff --git a/src/random-seed/random-seed.c b/src/random-seed/random-seed.c index d1cab8b87a..c2729fe416 100644 --- a/src/random-seed/random-seed.c +++ b/src/random-seed/random-seed.c @@ -68,7 +68,7 @@ int main(int argc, char *argv[]) { goto finish; } - if (mkdir_parents(RANDOM_SEED, 0755) < 0) { + if (mkdir_parents_label(RANDOM_SEED, 0755) < 0) { log_error("Failed to create directories parents of %s: %m", RANDOM_SEED); goto finish; } diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c index 38168cc01f..f41a6bf265 100644 --- a/src/rc-local-generator/rc-local-generator.c +++ b/src/rc-local-generator/rc-local-generator.c @@ -53,7 +53,7 @@ static int add_symlink(const char *service, const char *where) { goto finish; } - mkdir_parents(to, 0755); + mkdir_parents_label(to, 0755); r = symlink(from, to); if (r < 0) { diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c index 55be807cf2..4333bfb564 100644 --- a/src/shared/ask-password-api.c +++ b/src/shared/ask-password-api.c @@ -324,7 +324,7 @@ int ask_password_agent( sigset_add_many(&mask, SIGINT, SIGTERM, -1); assert_se(sigprocmask(SIG_BLOCK, &mask, &oldmask) == 0); - mkdir_p("/run/systemd/ask-password", 0755); + mkdir_p_label("/run/systemd/ask-password", 0755); u = umask(0022); fd = mkostemp(temp, O_CLOEXEC|O_CREAT|O_WRONLY); diff --git a/src/shared/cgroup-label.c b/src/shared/cgroup-label.c index 06e3c16260..beeeec5830 100644 --- a/src/shared/cgroup-label.c +++ b/src/shared/cgroup-label.c @@ -47,7 +47,7 @@ int cg_create(const char *controller, const char *path) { if (r < 0) return r; - r = mkdir_parents(fs, 0755); + r = mkdir_parents_label(fs, 0755); if (r >= 0) { if (mkdir(fs, 0755) >= 0) diff --git a/src/shared/install.c b/src/shared/install.c index 7e4f666952..40b137e437 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -1151,7 +1151,7 @@ static int create_symlink( assert(old_path); assert(new_path); - mkdir_parents(new_path, 0755); + mkdir_parents_label(new_path, 0755); if (symlink(old_path, new_path) >= 0) { add_file_change(changes, n_changes, UNIT_FILE_SYMLINK, new_path, old_path); diff --git a/src/shared/mkdir.c b/src/shared/mkdir.c index b102af779d..0eb70f268e 100644 --- a/src/shared/mkdir.c +++ b/src/shared/mkdir.c @@ -31,7 +31,11 @@ #include "util.h" #include "log.h" -int safe_mkdir(const char *path, mode_t mode, uid_t uid, gid_t gid) { +int mkdir_label(const char *path, mode_t mode) { + return label_mkdir(path, mode); +} + +int mkdir_safe_label(const char *path, mode_t mode, uid_t uid, gid_t gid) { struct stat st; if (label_mkdir(path, mode) >= 0) @@ -52,7 +56,7 @@ int safe_mkdir(const char *path, mode_t mode, uid_t uid, gid_t gid) { return 0; } -int mkdir_parents(const char *path, mode_t mode) { +int mkdir_parents_label(const char *path, mode_t mode) { struct stat st; const char *p, *e; @@ -96,12 +100,12 @@ int mkdir_parents(const char *path, mode_t mode) { } } -int mkdir_p(const char *path, mode_t mode) { +int mkdir_p_label(const char *path, mode_t mode) { int r; /* Like mkdir -p */ - if ((r = mkdir_parents(path, mode)) < 0) + if ((r = mkdir_parents_label(path, mode)) < 0) return r; if (label_mkdir(path, mode) < 0 && errno != EEXIST) diff --git a/src/shared/mkdir.h b/src/shared/mkdir.h index b1477c5f63..1a332bbcf8 100644 --- a/src/shared/mkdir.h +++ b/src/shared/mkdir.h @@ -22,7 +22,8 @@ along with systemd; If not, see . ***/ -int safe_mkdir(const char *path, mode_t mode, uid_t uid, gid_t gid); -int mkdir_parents(const char *path, mode_t mode); -int mkdir_p(const char *path, mode_t mode); +int mkdir_safe_label(const char *path, mode_t mode, uid_t uid, gid_t gid); +int mkdir_label(const char *path, mode_t mode); +int mkdir_parents_label(const char *path, mode_t mode); +int mkdir_p_label(const char *path, mode_t mode); #endif diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c index 32ddb38865..a9c3e21d51 100644 --- a/src/shared/path-lookup.c +++ b/src/shared/path-lookup.c @@ -122,7 +122,7 @@ static char** user_dirs( * then filter out this link, if it is actually is * one. */ - mkdir_parents(data_home, 0777); + mkdir_parents_label(data_home, 0777); (void) symlink("../../../.config/systemd/user", data_home); } diff --git a/src/shared/socket-label.c b/src/shared/socket-label.c index 5158beeda8..ff212de825 100644 --- a/src/shared/socket-label.c +++ b/src/shared/socket-label.c @@ -106,7 +106,7 @@ int socket_address_listen( mode_t old_mask; /* Create parents */ - mkdir_parents(a->sockaddr.un.sun_path, directory_mode); + mkdir_parents_label(a->sockaddr.un.sun_path, directory_mode); /* Enforce the right access mode for the socket*/ old_mask = umask(~ socket_mode); diff --git a/src/shutdownd/shutdownd.c b/src/shutdownd/shutdownd.c index 0497cd41a0..6eb8ed9bf8 100644 --- a/src/shutdownd/shutdownd.c +++ b/src/shutdownd/shutdownd.c @@ -205,7 +205,7 @@ static int update_schedule_file(struct sd_shutdown_command *c) { assert(c); - r = safe_mkdir("/run/systemd/shutdown", 0755, 0, 0); + r = mkdir_safe_label("/run/systemd/shutdown", 0755, 0, 0); if (r < 0) { log_error("Failed to create shutdown subdirectory: %s", strerror(-r)); return r; diff --git a/src/test/test-udev.c b/src/test/test-udev.c index 551f7564f1..bd9c059037 100644 --- a/src/test/test-udev.c +++ b/src/test/test-udev.c @@ -97,7 +97,7 @@ int main(int argc, char *argv[]) mode |= S_IFCHR; if (strcmp(action, "remove") != 0) { - mkdir_parents(udev_device_get_devnode(dev), 0755); + mkdir_parents_label(udev_device_get_devnode(dev), 0755); mknod(udev_device_get_devnode(dev), mode, udev_device_get_devnum(dev)); } else { unlink(udev_device_get_devnode(dev)); diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 2ee0601e64..aebc4bb088 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -652,7 +652,7 @@ static int create_item(Item *i) { case CREATE_DIRECTORY: u = umask(0); - mkdir_parents(i->path, 0755); + mkdir_parents_label(i->path, 0755); r = mkdir(i->path, i->mode); umask(u); diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c index de843b437e..7f537c2740 100644 --- a/src/tty-ask-password-agent/tty-ask-password-agent.c +++ b/src/tty-ask-password-agent/tty-ask-password-agent.c @@ -446,7 +446,7 @@ static int wall_tty_block(void) { if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0) return -ENOMEM; - mkdir_parents(p, 0700); + mkdir_parents_label(p, 0700); mkfifo(p, 0600); fd = open(p, O_RDONLY|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); @@ -570,7 +570,7 @@ static int watch_passwords(void) { tty_block_fd = wall_tty_block(); - mkdir_p("/run/systemd/ask-password", 0755); + mkdir_p_label("/run/systemd/ask-password", 0755); if ((notify = inotify_init1(IN_CLOEXEC)) < 0) { r = -errno; diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c index 56dc8fcaa9..69e1db980a 100644 --- a/src/udev/udev-builtin-firmware.c +++ b/src/udev/udev-builtin-firmware.c @@ -121,7 +121,7 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo /* This link indicates the missing firmware file and the associated device */ log_debug("did not find firmware file '%s'\n", firmware); do { - err = mkdir_parents(misspath, 0755); + err = mkdir_parents_label(misspath, 0755); if (err != 0 && err != -ENOENT) break; err = symlink(udev_device_get_devpath(dev), misspath); diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index 3c9846f158..2ef6341a2f 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -100,7 +100,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink) } else { log_debug("creating symlink '%s' to '%s'\n", slink, target); do { - err = mkdir_parents(slink, 0755); + err = mkdir_parents_label(slink, 0755); if (err != 0 && err != -ENOENT) break; label_context_set(slink, S_IFLNK); @@ -117,7 +117,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink) util_strscpyl(slink_tmp, sizeof(slink_tmp), slink, TMP_FILE_EXT, NULL); unlink(slink_tmp); do { - err = mkdir_parents(slink_tmp, 0755); + err = mkdir_parents_label(slink_tmp, 0755); if (err != 0 && err != -ENOENT) break; label_context_set(slink_tmp, S_IFLNK); @@ -226,7 +226,7 @@ static void link_update(struct udev_device *dev, const char *slink, bool add) do { int fd; - err = mkdir_parents(filename, 0755); + err = mkdir_parents_label(filename, 0755); if (err != 0 && err != -ENOENT) break; fd = open(filename, O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444); diff --git a/src/udev/udev-watch.c b/src/udev/udev-watch.c index 1091ec8d69..04609a776f 100644 --- a/src/udev/udev-watch.c +++ b/src/udev/udev-watch.c @@ -111,7 +111,7 @@ void udev_watch_begin(struct udev *udev, struct udev_device *dev) } snprintf(filename, sizeof(filename), "/run/udev/watch/%d", wd); - mkdir_parents(filename, 0755); + mkdir_parents_label(filename, 0755); unlink(filename); symlink(udev_device_get_id_filename(dev), filename); diff --git a/src/udev/udevd.c b/src/udev/udevd.c index f6707a5ccb..131d12d1b1 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -850,7 +850,7 @@ static void static_dev_create_from_modules(struct udev *udev) continue; util_strscpyl(filename, sizeof(filename), "/dev/", devname, NULL); - mkdir_parents(filename, 0755); + mkdir_parents_label(filename, 0755); label_context_set(filename, mode); log_debug("mknod '%s' %c%u:%u\n", filename, type, maj, min); if (mknod(filename, mode, makedev(maj, min)) < 0 && errno == EEXIST) @@ -896,7 +896,7 @@ static int convert_db(struct udev *udev) return 0; /* make sure we do not get here again */ - mkdir_parents("/run/udev/data", 0755); + mkdir_parents_label("/run/udev/data", 0755); mkdir(filename, 0755); /* old database */ -- cgit v1.2.3-54-g00ecf From 669241a076108e0483d7d8475beaa506106d077e Mon Sep 17 00:00:00 2001 From: Shawn Landden Date: Tue, 24 Jul 2012 21:12:43 -0700 Subject: use "Out of memory." consistantly (or with "\n") glibc/glib both use "out of memory" consistantly so maybe we should consider that instead of this. Eliminates one string out of a number of binaries. Also fixes extra newline in udev/scsi_id --- src/cgtop/cgtop.c | 2 +- src/core/cgroup.c | 2 +- src/core/dbus.c | 16 ++++++------ src/core/manager.c | 6 ++--- src/cryptsetup/cryptsetup-generator.c | 6 ++--- src/cryptsetup/cryptsetup.c | 6 ++--- src/fsck/fsck.c | 2 +- src/fstab-generator/fstab-generator.c | 30 +++++++++++----------- src/getty-generator/getty-generator.c | 6 ++--- src/hostname/hostnamed.c | 2 +- src/journal/coredump.c | 2 +- src/journal/journalctl.c | 2 +- src/journal/journald.c | 10 ++++---- src/locale/localed.c | 6 ++--- src/login/logind-button.c | 2 +- src/login/logind-session.c | 8 +++--- src/login/logind-user.c | 4 +-- src/login/logind.c | 4 +-- src/login/multi-seat-x.c | 2 +- src/modules-load/modules-load.c | 4 +-- src/nspawn/nspawn.c | 22 ++++++++-------- src/rc-local-generator/rc-local-generator.c | 2 +- src/readahead/readahead-collect.c | 6 ++--- src/readahead/readahead-replay.c | 2 +- src/shared/ask-password-api.c | 2 +- src/shared/dbus-common.c | 2 +- src/shared/logs-show.c | 2 +- src/shared/util.c | 6 ++--- src/shutdownd/shutdownd.c | 2 +- src/sysctl/sysctl.c | 4 +-- src/systemctl/systemctl.c | 20 +++++++-------- src/timedate/timedated.c | 10 ++++---- src/tmpfiles/tmpfiles.c | 10 ++++---- .../tty-ask-password-agent.c | 4 +-- src/udev/collect/collect.c | 2 +- src/udev/scsi_id/scsi_id.c | 4 +-- 36 files changed, 111 insertions(+), 111 deletions(-) (limited to 'src/shared/ask-password-api.c') diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c index 5557094a4f..c3824c7979 100644 --- a/src/cgtop/cgtop.c +++ b/src/cgtop/cgtop.c @@ -608,7 +608,7 @@ int main(int argc, char *argv[]) { a = hashmap_new(string_hash_func, string_compare_func); b = hashmap_new(string_hash_func, string_compare_func); if (!a || !b) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } diff --git a/src/core/cgroup.c b/src/core/cgroup.c index aaea96b820..1322f63eee 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c @@ -330,7 +330,7 @@ int manager_setup_cgroup(Manager *m) { /* We need a new root cgroup */ m->cgroup_hierarchy = NULL; if (asprintf(&m->cgroup_hierarchy, "%s%s", streq(current, "/") ? "" : current, suffix) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } diff --git a/src/core/dbus.c b/src/core/dbus.c index 1bc83a2c2a..0c13517143 100644 --- a/src/core/dbus.c +++ b/src/core/dbus.c @@ -724,12 +724,12 @@ static int bus_setup_loop(Manager *m, DBusConnection *bus) { if (!dbus_connection_set_watch_functions(bus, bus_add_watch, bus_remove_watch, bus_toggle_watch, m, NULL) || !dbus_connection_set_timeout_functions(bus, bus_add_timeout, bus_remove_timeout, bus_toggle_timeout, m, NULL)) { - log_error("Not enough memory"); + log_error("Out of memory."); return -ENOMEM; } if (set_put(m->bus_connections_for_dispatch, bus) < 0) { - log_error("Not enough memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -764,7 +764,7 @@ static void bus_new_connection( !dbus_connection_register_fallback(new_connection, "/org/freedesktop/systemd1/unit", &bus_unit_vtable, m) || !dbus_connection_register_fallback(new_connection, "/org/freedesktop/systemd1/job", &bus_job_vtable, m) || !dbus_connection_add_filter(new_connection, private_bus_message_filter, m, NULL)) { - log_error("Not enough memory."); + log_error("Out of memory."); return; } @@ -777,7 +777,7 @@ static int init_registered_system_bus(Manager *m) { char *id; if (!dbus_connection_add_filter(m->system_bus, system_bus_message_filter, m, NULL)) { - log_error("Not enough memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -815,7 +815,7 @@ static int init_registered_api_bus(Manager *m) { !dbus_connection_register_fallback(m->api_bus, "/org/freedesktop/systemd1/unit", &bus_unit_vtable, m) || !dbus_connection_register_fallback(m->api_bus, "/org/freedesktop/systemd1/job", &bus_job_vtable, m) || !dbus_connection_add_filter(m->api_bus, api_bus_message_filter, m, NULL)) { - log_error("Not enough memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -1090,7 +1090,7 @@ static int bus_init_private(Manager *m) { return 0; if (asprintf(&p, "unix:path=%s/systemd/private", e) < 0) { - log_error("Not enough memory"); + log_error("Out of memory."); r = -ENOMEM; goto fail; } @@ -1110,7 +1110,7 @@ static int bus_init_private(Manager *m) { if (!dbus_server_set_auth_mechanisms(m->private_bus, (const char**) external_only) || !dbus_server_set_watch_functions(m->private_bus, bus_add_watch, bus_remove_watch, bus_toggle_watch, m, NULL) || !dbus_server_set_timeout_functions(m->private_bus, bus_add_timeout, bus_remove_timeout, bus_toggle_timeout, m, NULL)) { - log_error("Not enough memory"); + log_error("Out of memory."); r = -ENOMEM; goto fail; } @@ -1158,7 +1158,7 @@ int bus_init(Manager *m, bool try_bus_connect) { return 0; oom: - log_error("Not enough memory"); + log_error("Out of memory."); return -ENOMEM; } diff --git a/src/core/manager.c b/src/core/manager.c index 48305e373a..42a9490242 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1625,7 +1625,7 @@ void manager_send_unit_plymouth(Manager *m, Unit *u) { } if (asprintf(&message, "U\002%c%s%n", (int) (strlen(u->id) + 1), u->id, &n) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); goto finish; } @@ -2074,7 +2074,7 @@ static int create_generator_dir(Manager *m, char **generator, const char *name) p = strappend("/run/systemd/", name); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -2087,7 +2087,7 @@ static int create_generator_dir(Manager *m, char **generator, const char *name) } else { p = strjoin("/tmp/systemd-", name, ".XXXXXX", NULL); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c index d0984242c8..fb6b4d25c0 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -303,7 +303,7 @@ static int parse_proc_cmdline(void) { t = strv_append(arg_proc_cmdline_disks, word + 10); if (!t) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -317,7 +317,7 @@ static int parse_proc_cmdline(void) { t = strv_append(arg_proc_cmdline_disks, word + 13); if (!t) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -380,7 +380,7 @@ int main(int argc, char *argv[]) { device = strappend("UUID=", *i); if (!name || !device) { - log_error("Out of memory"); + log_error("Out of memory."); r = EXIT_FAILURE; free(name); free(device); diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index f570724b9d..9d4e77364d 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -343,7 +343,7 @@ int main(int argc, char *argv[]) { l = strcspn(opt_cipher, "-"); if (!(truncated_cipher = strndup(opt_cipher, l))) { - log_error("Out of memory"); + log_error("Out of memory."); goto finish; } @@ -365,7 +365,7 @@ int main(int argc, char *argv[]) { char **p; if (asprintf(&text, "Please enter passphrase for disk %s!", name) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); goto finish; } @@ -383,7 +383,7 @@ int main(int argc, char *argv[]) { assert(strv_length(passwords) == 1); if (asprintf(&text, "Please enter passphrase for disk %s! (verification)", name) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); goto finish; } diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c index 833f3f74a6..036d3c5b41 100644 --- a/src/fsck/fsck.c +++ b/src/fsck/fsck.c @@ -297,7 +297,7 @@ int main(int argc, char *argv[]) { } if (!(udev = udev_new())) { - log_error("Out of memory"); + log_error("Out of memory."); goto finish; } diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 3a59b85d66..89a4d13504 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -98,14 +98,14 @@ static int add_swap(const char *what, struct mntent *me) { name = unit_name_from_path(what, ".swap"); if (!name) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } unit = strjoin(arg_dest, "/", name, NULL); if (!unit) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -148,7 +148,7 @@ static int add_swap(const char *what, struct mntent *me) { if (!noauto) { lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL); if (!lnk) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -162,7 +162,7 @@ static int add_swap(const char *what, struct mntent *me) { r = device_name(what, &device); if (r < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -171,7 +171,7 @@ static int add_swap(const char *what, struct mntent *me) { free(lnk); lnk = strjoin(arg_dest, "/", device, ".wants/", name, NULL); if (!lnk) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -256,14 +256,14 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { name = unit_name_from_path(where, ".mount"); if (!name) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } unit = strjoin(arg_dest, "/", name, NULL); if (!unit) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -323,7 +323,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { if (!noauto) { lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL); if (!lnk) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -340,7 +340,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { r = device_name(what, &device); if (r < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -349,7 +349,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { free(lnk); lnk = strjoin(arg_dest, "/", device, ".wants/", name, NULL); if (!lnk) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -367,14 +367,14 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { if (automount && !path_equal(where, "/")) { automount_name = unit_name_from_path(where, ".automount"); if (!name) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } automount_unit = strjoin(arg_dest, "/", automount_name, NULL); if (!automount_unit) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -410,7 +410,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { free(lnk); lnk = strjoin(arg_dest, "/", post, nofail ? ".wants/" : ".requires/", automount_name, NULL); if (!lnk) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -459,14 +459,14 @@ static int parse_fstab(void) { what = fstab_node_to_udev_node(me->mnt_fsname); if (!what) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } where = strdup(me->mnt_dir); if (!where) { - log_error("Out of memory"); + log_error("Out of memory."); free(what); r = -ENOMEM; goto finish; diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c index b2e3eb6393..9e46a47a9a 100644 --- a/src/getty-generator/getty-generator.c +++ b/src/getty-generator/getty-generator.c @@ -42,7 +42,7 @@ static int add_symlink(const char *fservice, const char *tservice) { to = strjoin(arg_dest,"/getty.target.wants/", tservice, NULL); if (!from || !to) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -78,7 +78,7 @@ static int add_serial_getty(const char *tty) { n = unit_name_replace_instance("serial-getty@.service", tty); if (!n) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -160,7 +160,7 @@ int main(int argc, char *argv[]) { int k; if (asprintf(&p, "/sys/class/tty/%s", j) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = EXIT_FAILURE; goto finish; } diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c index 67c56f3313..7dab5f40df 100644 --- a/src/hostname/hostnamed.c +++ b/src/hostname/hostnamed.c @@ -532,7 +532,7 @@ static int connect_bus(DBusConnection **_bus) { if (!dbus_connection_register_object_path(bus, "/org/freedesktop/hostname1", &hostname_vtable, NULL) || !dbus_connection_add_filter(bus, bus_exit_idle_filter, &remain_until, NULL)) { - log_error("Not enough memory"); + log_error("Out of memory."); r = -ENOMEM; goto fail; } diff --git a/src/journal/coredump.c b/src/journal/coredump.c index fcd0d1e625..cfd3a910d9 100644 --- a/src/journal/coredump.c +++ b/src/journal/coredump.c @@ -239,7 +239,7 @@ int main(int argc, char* argv[]) { p = malloc(9 + COREDUMP_MAX); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c index e633dd34d7..a9cf9cd957 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c @@ -256,7 +256,7 @@ static int add_matches(sd_journal *j, char **args) { t = strappend("_EXE=", path); if (!t) { free(p); - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } diff --git a/src/journal/journald.c b/src/journal/journald.c index 36f9abe47e..ae1fbc4bd4 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -1270,7 +1270,7 @@ static void process_native_message( u = MAX((n+N_IOVEC_META_FIELDS+1) * 2U, 4U); c = realloc(iovec, u * sizeof(struct iovec)); if (!c) { - log_error("Out of memory"); + log_error("Out of memory."); break; } @@ -1357,7 +1357,7 @@ static void process_native_message( k = malloc((e - p) + 1 + l); if (!k) { - log_error("Out of memory"); + log_error("Out of memory."); break; } @@ -1450,7 +1450,7 @@ static void process_native_file( p = malloc(st.st_size); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); return; } @@ -1543,7 +1543,7 @@ static int stdout_stream_line(StdoutStream *s, char *p) { else { s->identifier = strdup(p); if (!s->identifier) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } } @@ -1558,7 +1558,7 @@ static int stdout_stream_line(StdoutStream *s, char *p) { else { s->unit_id = strdup(p); if (!s->unit_id) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } } diff --git a/src/locale/localed.c b/src/locale/localed.c index 56fb339e19..b8007d72fd 100644 --- a/src/locale/localed.c +++ b/src/locale/localed.c @@ -425,7 +425,7 @@ static void push_data(DBusConnection *bus) { l_set = new0(char*, _PROP_MAX); l_unset = new0(char*, _PROP_MAX); if (!l_set || !l_unset) { - log_error("Out of memory"); + log_error("Out of memory."); goto finish; } @@ -438,7 +438,7 @@ static void push_data(DBusConnection *bus) { char *s; if (asprintf(&s, "%s=%s", names[p], data[p]) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); goto finish; } @@ -1344,7 +1344,7 @@ static int connect_bus(DBusConnection **_bus) { if (!dbus_connection_register_object_path(bus, "/org/freedesktop/locale1", &locale_vtable, NULL) || !dbus_connection_add_filter(bus, bus_exit_idle_filter, &remain_until, NULL)) { - log_error("Not enough memory"); + log_error("Out of memory."); r = -ENOMEM; goto fail; } diff --git a/src/login/logind-button.c b/src/login/logind-button.c index 8b59c2b0c3..62e0c3dbba 100644 --- a/src/login/logind-button.c +++ b/src/login/logind-button.c @@ -108,7 +108,7 @@ int button_open(Button *b) { p = strappend("/dev/input/", b->name); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } diff --git a/src/login/logind-session.c b/src/login/logind-session.c index 819596ddbe..a43ecad2b1 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -375,7 +375,7 @@ static int session_link_x11_socket(Session *s) { k = strspn(s->display+1, "0123456789"); f = new(char, sizeof("/tmp/.X11-unix/X") + k); if (!f) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -395,7 +395,7 @@ static int session_link_x11_socket(Session *s) { t = strappend(s->user->runtime_path, "/X11-display"); if (!t) { - log_error("Out of memory"); + log_error("Out of memory."); free(f); return -ENOMEM; } @@ -469,7 +469,7 @@ static int session_create_cgroup(Session *s) { if (!s->cgroup_path) { if (asprintf(&p, "%s/%s", s->user->cgroup_path, s->id) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } } else @@ -670,7 +670,7 @@ static int session_unlink_x11_socket(Session *s) { t = strappend(s->user->runtime_path, "/X11-display"); if (!t) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } diff --git a/src/login/logind-user.c b/src/login/logind-user.c index 0a3f22ce99..fca68159a7 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c @@ -260,7 +260,7 @@ static int user_mkdir_runtime_path(User *u) { if (!u->runtime_path) { if (asprintf(&p, "/run/user/%lu", (unsigned long) u->uid) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } } else @@ -287,7 +287,7 @@ static int user_create_cgroup(User *u) { if (!u->cgroup_path) { if (asprintf(&p, "%s/%s", u->manager->cgroup_path, u->name) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } } else diff --git a/src/login/logind.c b/src/login/logind.c index 0775583147..1cfb7fa9ac 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -1176,7 +1176,7 @@ static int manager_connect_bus(Manager *m) { !dbus_connection_register_fallback(m->bus, "/org/freedesktop/login1/session", &bus_session_vtable, m) || !dbus_connection_register_fallback(m->bus, "/org/freedesktop/login1/user", &bus_user_vtable, m) || !dbus_connection_add_filter(m->bus, bus_message_filter, m, NULL)) { - log_error("Not enough memory"); + log_error("Out of memory."); r = -ENOMEM; goto fail; } @@ -1611,7 +1611,7 @@ int main(int argc, char *argv[]) { m = manager_new(); if (!m) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } diff --git a/src/login/multi-seat-x.c b/src/login/multi-seat-x.c index 92014f5316..a1fab86f6a 100644 --- a/src/login/multi-seat-x.c +++ b/src/login/multi-seat-x.c @@ -121,7 +121,7 @@ int main(int argc, char *argv[]) { path = strappend("/run/systemd/multi-session-x/", seat); if (!path) { - log_error("Out of memory"); + log_error("Out of memory."); goto fail; } diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c index d6bc16d340..e73ba7f241 100644 --- a/src/modules-load/modules-load.c +++ b/src/modules-load/modules-load.c @@ -50,14 +50,14 @@ static int add_modules(const char *p) { k = strv_split(p, ","); if (!k) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } t = strv_merge(arg_proc_cmdline_modules, k); strv_free(k); if (!t) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 1d7511e2ab..355a103edf 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -289,7 +289,7 @@ static int mount_all(const char *dest) { int t; if (asprintf(&where, "%s/%s", dest, mount_table[k].where) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); if (r == 0) r = -ENOMEM; @@ -336,7 +336,7 @@ static int setup_timezone(const char *dest) { /* Fix the timezone, if possible */ if (asprintf(&where, "%s/etc/localtime", dest) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -346,7 +346,7 @@ static int setup_timezone(const char *dest) { free(where); if (asprintf(&where, "%s/etc/timezone", dest) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -368,7 +368,7 @@ static int setup_resolv_conf(const char *dest) { /* Fix resolv.conf, if possible */ if (asprintf(&where, "%s/etc/resolv.conf", dest) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -480,7 +480,7 @@ static int setup_dev_console(const char *dest, const char *console) { } if (asprintf(&to, "%s/dev/console", dest) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -535,13 +535,13 @@ static int setup_kmsg(const char *dest, int kmsg_socket) { * avoid any problems with containers deadlocking due to this * we simply make /dev/kmsg unavailable to the container. */ if (asprintf(&from, "%s/dev/kmsg", dest) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } if (asprintf(&to, "%s/proc/kmsg", dest) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -639,7 +639,7 @@ static int setup_journal(const char *directory) { p = strappend(directory, "/etc/machine-id"); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -670,7 +670,7 @@ static int setup_journal(const char *directory) { p = strappend("/var/log/journal/", l); q = strjoin(directory, "/var/log/journal/", l, NULL); if (!p || !q) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -1296,13 +1296,13 @@ int main(int argc, char *argv[]) { if ((asprintf((char**)(envp + 3), "HOME=%s", home ? home: "/root") < 0) || (asprintf((char**)(envp + 4), "USER=%s", arg_user ? arg_user : "root") < 0) || (asprintf((char**)(envp + 5), "LOGNAME=%s", arg_user ? arg_user : "root") < 0)) { - log_error("Out of memory"); + log_error("Out of memory."); goto child_fail; } if (arg_uuid) { if (asprintf((char**)(envp + 6), "container_uuid=%s", arg_uuid) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); goto child_fail; } } diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c index f41a6bf265..9fafa29f22 100644 --- a/src/rc-local-generator/rc-local-generator.c +++ b/src/rc-local-generator/rc-local-generator.c @@ -48,7 +48,7 @@ static int add_symlink(const char *service, const char *where) { asprintf(&to, "%s/%s.wants/%s", arg_dest, where, service); if (!from || !to) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c index 8dacf6af5c..45d489a60e 100644 --- a/src/readahead/readahead-collect.c +++ b/src/readahead/readahead-collect.c @@ -242,7 +242,7 @@ static int collect(const char *root) { assert(root); if (asprintf(&pack_fn, "%s/.readahead", root) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -477,7 +477,7 @@ done: log_debug("On btrfs: %s", yes_no(on_btrfs)); if (asprintf(&pack_fn_new, "%s/.readahead.new", root) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -510,7 +510,7 @@ done: n = hashmap_size(files); if (!(ordered = new(struct item, n))) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } diff --git a/src/readahead/readahead-replay.c b/src/readahead/readahead-replay.c index 7bd079aae5..f90821e831 100644 --- a/src/readahead/readahead-replay.c +++ b/src/readahead/readahead-replay.c @@ -150,7 +150,7 @@ static int replay(const char *root) { block_bump_request_nr(root); if (asprintf(&pack_fn, "%s/.readahead", root) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c index 4333bfb564..005f40fef7 100644 --- a/src/shared/ask-password-api.c +++ b/src/shared/ask-password-api.c @@ -282,7 +282,7 @@ static int create_socket(char **name) { if (!(c = strdup(sa.un.sun_path))) { r = -ENOMEM; - log_error("Out of memory"); + log_error("Out of memory."); goto fail; } diff --git a/src/shared/dbus-common.c b/src/shared/dbus-common.c index 7d57680cfc..ab1dc4d7e4 100644 --- a/src/shared/dbus-common.c +++ b/src/shared/dbus-common.c @@ -1161,7 +1161,7 @@ void bus_async_unregister_and_exit(DBusConnection *bus, const char *name) { return; oom: - log_error("Out of memory"); + log_error("Out of memory."); if (pending) { dbus_pending_call_cancel(pending); diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c index a68cd3de57..f90f5a1f0d 100644 --- a/src/shared/logs-show.c +++ b/src/shared/logs-show.c @@ -53,7 +53,7 @@ static int parse_field(const void *data, size_t length, const char *field, char memcpy(buf, (const char*) data + fl, nl); ((char*)buf)[nl] = 0; if (!buf) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } diff --git a/src/shared/util.c b/src/shared/util.c index 43ec62eac6..2e7ae63db2 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -909,7 +909,7 @@ int load_env_file( continue; if (!(u = normalize_env_assignment(p))) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -918,7 +918,7 @@ int load_env_file( free(u); if (!t) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -4278,7 +4278,7 @@ void execute_directory(const char *directory, DIR *d, char *argv[]) { continue; if (asprintf(&path, "%s/%s", directory, de->d_name) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); continue; } diff --git a/src/shutdownd/shutdownd.c b/src/shutdownd/shutdownd.c index 6eb8ed9bf8..9dd1336133 100644 --- a/src/shutdownd/shutdownd.c +++ b/src/shutdownd/shutdownd.c @@ -213,7 +213,7 @@ static int update_schedule_file(struct sd_shutdown_command *c) { t = cescape(c->wall_message); if (!t) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c index 72a74f9e44..b463c7fac7 100644 --- a/src/sysctl/sysctl.c +++ b/src/sysctl/sysctl.c @@ -46,7 +46,7 @@ static int apply_sysctl(const char *property, const char *value) { p = new(char, sizeof(PROC_SYS_PREFIX) + strlen(property)); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -192,7 +192,7 @@ static int parse_argv(int argc, char *argv[]) { l = strv_append(arg_prefixes, optarg); if (!l) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index a13fc1a8f0..d493733761 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -658,7 +658,7 @@ static int list_unit_files(DBusConnection *bus, char **args) { h = hashmap_new(string_hash_func, string_compare_func); if (!h) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -673,7 +673,7 @@ static int list_unit_files(DBusConnection *bus, char **args) { units = new(UnitFileList, n_units); if (!units) { unit_file_list_free(h); - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -2637,7 +2637,7 @@ static void show_unit_help(UnitStatusInfo *i) { section = strndup(e + 1, *p + k - e - 2); if (!section) { free(page); - log_error("Out of memory"); + log_error("Out of memory."); return; } @@ -3283,7 +3283,7 @@ static int show(DBusConnection *bus, char **args) { p = unit_dbus_path_from_name(n ? n : *name); free(n); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -3299,7 +3299,7 @@ static int show(DBusConnection *bus, char **args) { char *p; if (asprintf(&p, "/org/freedesktop/systemd1/job/%u", id) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -3974,7 +3974,7 @@ static int enable_sysv_units(char **args) { asprintf(&p, "%s/%s", *k, name); if (!p) { - log_error("No memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -3995,7 +3995,7 @@ static int enable_sysv_units(char **args) { else asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); if (!p) { - log_error("No memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -4024,7 +4024,7 @@ static int enable_sysv_units(char **args) { l = strv_join((char**)argv, " "); if (!l) { - log_error("No memory."); + log_error("Out of memory."); free(q); free(p); r = -ENOMEM; @@ -4184,7 +4184,7 @@ static int enable_unit(DBusConnection *bus, char **args) { "org.freedesktop.systemd1.Manager", method); if (!m) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -4339,7 +4339,7 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { "org.freedesktop.systemd1.Manager", "GetUnitFileState"); if (!m) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c index 237eb24894..3fef9e8844 100644 --- a/src/timedate/timedated.c +++ b/src/timedate/timedated.c @@ -153,7 +153,7 @@ static void verify_timezone(void) { p = strappend("/usr/share/zoneinfo/", tz.zone); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); return; } @@ -220,7 +220,7 @@ static int write_data_timezone(void) { p = strappend("/usr/share/zoneinfo/", tz.zone); if (!p) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -341,7 +341,7 @@ static char** get_ntp_services(void) { q = strv_append(r, l); if (!q) { - log_error("Out of memory"); + log_error("Out of memory."); break; } @@ -379,7 +379,7 @@ static int read_ntp(DBusConnection *bus) { "org.freedesktop.systemd1.Manager", "GetUnitFileState"); if (!m) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -943,7 +943,7 @@ static int connect_bus(DBusConnection **_bus) { if (!dbus_connection_register_object_path(bus, "/org/freedesktop/timedate1", &timedate_vtable, NULL) || !dbus_connection_add_filter(bus, bus_exit_idle_filter, &remain_until, NULL)) { - log_error("Not enough memory"); + log_error("Out of memory."); r = -ENOMEM; goto fail; } diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 45125b7b94..f8d89218c9 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -260,7 +260,7 @@ static int dir_cleanup( sub_path = NULL; if (asprintf(&sub_path, "%s/%s", p, dent->d_name) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -970,7 +970,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) { i = new0(Item, 1); if (!i) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } @@ -999,7 +999,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) { if (buffer[n] != 0 && (buffer[n] != '-' || buffer[n+1] != 0)) { i->argument = unquote(buffer+n, "\""); if (!i->argument) { - log_error("Out of memory"); + log_error("Out of memory."); return -ENOMEM; } } @@ -1302,7 +1302,7 @@ static char *resolve_fragment(const char *fragment, const char **search_paths) { STRV_FOREACH(p, search_paths) { resolved_path = strjoin(*p, "/", fragment, NULL); if (resolved_path == NULL) { - log_error("Out of memory"); + log_error("Out of memory."); return NULL; } @@ -1337,7 +1337,7 @@ int main(int argc, char *argv[]) { globs = hashmap_new(string_hash_func, string_compare_func); if (!items || !globs) { - log_error("Out of memory"); + log_error("Out of memory."); r = EXIT_FAILURE; goto finish; } diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c index 2ab3401e6f..403e8cd3c6 100644 --- a/src/tty-ask-password-agent/tty-ask-password-agent.c +++ b/src/tty-ask-password-agent/tty-ask-password-agent.c @@ -315,7 +315,7 @@ static int parse_password(const char *filename, char **wall) { *wall ? "\r\n\r\n" : "", message, pid) < 0) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } @@ -533,7 +533,7 @@ static int show_passwords(void) { continue; if (!(p = strappend("/run/systemd/ask-password/", de->d_name))) { - log_error("Out of memory"); + log_error("Out of memory."); r = -ENOMEM; goto finish; } diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c index 80f464aff0..4162c436b0 100644 --- a/src/udev/collect/collect.c +++ b/src/udev/collect/collect.c @@ -141,7 +141,7 @@ static int checkout(int fd) len = bufsize >> 1; buf = calloc(1,bufsize + 1); if (!buf) { - fprintf(stderr, "Out of memory\n"); + fprintf(stderr, "Out of memory.\n"); return -1; } memset(buf, ' ', bufsize); diff --git a/src/udev/scsi_id/scsi_id.c b/src/udev/scsi_id/scsi_id.c index 6fc41e94fb..0bb1bc495a 100644 --- a/src/udev/scsi_id/scsi_id.c +++ b/src/udev/scsi_id/scsi_id.c @@ -198,7 +198,7 @@ static int get_file_options(struct udev *udev, buffer = malloc(MAX_BUFFER_LEN); if (!buffer) { fclose(fd); - log_error("can't allocate memory\n"); + log_error("Out of memory."); return -1; } @@ -294,7 +294,7 @@ static int get_file_options(struct udev *udev, c = argc_count(buffer) + 2; *newargv = calloc(c, sizeof(**newargv)); if (!*newargv) { - log_error("can't allocate memory\n"); + log_error("Out of memory."); retval = -1; } else { *argc = c; -- cgit v1.2.3-54-g00ecf From 0d0f0c50d3a1d90f03972a6abb82e6413daaa583 Mon Sep 17 00:00:00 2001 From: Shawn Landden Date: Wed, 25 Jul 2012 14:55:59 -0700 Subject: log.h: new log_oom() -> int -ENOMEM, use it also a number of minor fixups and bug fixes: spelling, oom errors that didn't print errors, not properly forwarding error codes, few more consistency issues, et cetera --- src/cgtop/cgtop.c | 3 +- src/core/cgroup.c | 3 +- src/core/dbus.c | 41 ++++++---------- src/core/manager.c | 14 ++---- src/cryptsetup/cryptsetup-generator.c | 8 ++- src/cryptsetup/cryptsetup.c | 8 +-- src/fsck/fsck.c | 2 +- src/fstab-generator/fstab-generator.c | 57 ++++++++-------------- src/getty-generator/getty-generator.c | 11 ++--- src/hostname/hostnamed.c | 3 +- src/journal/cat.c | 6 +-- src/journal/coredump.c | 3 +- src/journal/journalctl.c | 3 +- src/journal/journald.c | 31 +++++------- src/locale/localed.c | 17 +++---- src/login/logind-button.c | 6 +-- src/login/logind-session.c | 21 +++----- src/login/logind-user.c | 12 ++--- src/login/logind.c | 18 +++---- src/login/multi-seat-x.c | 4 +- src/modules-load/modules-load.c | 12 ++--- src/nspawn/nspawn.c | 42 ++++++---------- src/rc-local-generator/rc-local-generator.c | 3 +- src/readahead/readahead-collect.c | 9 ++-- src/readahead/readahead-replay.c | 3 +- src/remount-fs/remount-fs.c | 2 +- src/shared/ask-password-api.c | 3 +- src/shared/dbus-common.c | 2 +- src/shared/log.h | 6 +++ src/shared/logs-show.c | 6 +-- src/shared/util.c | 8 ++- src/shutdownd/shutdownd.c | 6 +-- src/sysctl/sysctl.c | 12 ++--- .../system-update-generator.c | 6 +-- src/systemctl/systemctl.c | 40 ++++++--------- src/timedate/timedated.c | 19 +++----- src/tmpfiles/tmpfiles.c | 19 +++----- .../tty-ask-password-agent.c | 6 +-- src/udev/scsi_id/scsi_id.c | 12 ++--- src/vconsole/vconsole-setup.c | 6 +-- 40 files changed, 183 insertions(+), 310 deletions(-) (limited to 'src/shared/ask-password-api.c') diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c index c3824c7979..f0ca83fd45 100644 --- a/src/cgtop/cgtop.c +++ b/src/cgtop/cgtop.c @@ -608,8 +608,7 @@ int main(int argc, char *argv[]) { a = hashmap_new(string_hash_func, string_compare_func); b = hashmap_new(string_hash_func, string_compare_func); if (!a || !b) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } diff --git a/src/core/cgroup.c b/src/core/cgroup.c index 1322f63eee..8ddb1118ed 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c @@ -330,8 +330,7 @@ int manager_setup_cgroup(Manager *m) { /* We need a new root cgroup */ m->cgroup_hierarchy = NULL; if (asprintf(&m->cgroup_hierarchy, "%s%s", streq(current, "/") ? "" : current, suffix) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } } diff --git a/src/core/dbus.c b/src/core/dbus.c index 0c13517143..9db172b6e6 100644 --- a/src/core/dbus.c +++ b/src/core/dbus.c @@ -723,15 +723,11 @@ static int bus_setup_loop(Manager *m, DBusConnection *bus) { dbus_connection_set_exit_on_disconnect(bus, FALSE); if (!dbus_connection_set_watch_functions(bus, bus_add_watch, bus_remove_watch, bus_toggle_watch, m, NULL) || - !dbus_connection_set_timeout_functions(bus, bus_add_timeout, bus_remove_timeout, bus_toggle_timeout, m, NULL)) { - log_error("Out of memory."); - return -ENOMEM; - } + !dbus_connection_set_timeout_functions(bus, bus_add_timeout, bus_remove_timeout, bus_toggle_timeout, m, NULL)) + return log_oom(); - if (set_put(m->bus_connections_for_dispatch, bus) < 0) { - log_error("Out of memory."); - return -ENOMEM; - } + if (set_put(m->bus_connections_for_dispatch, bus) < 0) + return log_oom(); dbus_connection_set_dispatch_status_function(bus, bus_dispatch_status, m, NULL); return 0; @@ -764,7 +760,7 @@ static void bus_new_connection( !dbus_connection_register_fallback(new_connection, "/org/freedesktop/systemd1/unit", &bus_unit_vtable, m) || !dbus_connection_register_fallback(new_connection, "/org/freedesktop/systemd1/job", &bus_job_vtable, m) || !dbus_connection_add_filter(new_connection, private_bus_message_filter, m, NULL)) { - log_error("Out of memory."); + log_oom(); return; } @@ -776,10 +772,8 @@ static void bus_new_connection( static int init_registered_system_bus(Manager *m) { char *id; - if (!dbus_connection_add_filter(m->system_bus, system_bus_message_filter, m, NULL)) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!dbus_connection_add_filter(m->system_bus, system_bus_message_filter, m, NULL)) + return log_oom(); if (m->running_as != MANAGER_SYSTEM) { DBusError error; @@ -814,10 +808,8 @@ static int init_registered_api_bus(Manager *m) { if (!dbus_connection_register_object_path(m->api_bus, "/org/freedesktop/systemd1", &bus_manager_vtable, m) || !dbus_connection_register_fallback(m->api_bus, "/org/freedesktop/systemd1/unit", &bus_unit_vtable, m) || !dbus_connection_register_fallback(m->api_bus, "/org/freedesktop/systemd1/job", &bus_job_vtable, m) || - !dbus_connection_add_filter(m->api_bus, api_bus_message_filter, m, NULL)) { - log_error("Out of memory."); - return -ENOMEM; - } + !dbus_connection_add_filter(m->api_bus, api_bus_message_filter, m, NULL)) + return log_oom(); /* Get NameOwnerChange messages */ dbus_bus_add_match(m->api_bus, @@ -1090,8 +1082,7 @@ static int bus_init_private(Manager *m) { return 0; if (asprintf(&p, "unix:path=%s/systemd/private", e) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto fail; } @@ -1110,8 +1101,7 @@ static int bus_init_private(Manager *m) { if (!dbus_server_set_auth_mechanisms(m->private_bus, (const char**) external_only) || !dbus_server_set_watch_functions(m->private_bus, bus_add_watch, bus_remove_watch, bus_toggle_watch, m, NULL) || !dbus_server_set_timeout_functions(m->private_bus, bus_add_timeout, bus_remove_timeout, bus_toggle_timeout, m, NULL)) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto fail; } @@ -1158,8 +1148,7 @@ int bus_init(Manager *m, bool try_bus_connect) { return 0; oom: - log_error("Out of memory."); - return -ENOMEM; + return log_oom(); } static void shutdown_connection(Manager *m, DBusConnection *c) { @@ -1458,7 +1447,7 @@ void bus_broadcast_finished( message = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "StartupFinished"); if (!message) { - log_error("Out of memory."); + log_oom(); return; } @@ -1469,13 +1458,13 @@ void bus_broadcast_finished( DBUS_TYPE_UINT64, &userspace_usec, DBUS_TYPE_UINT64, &total_usec, DBUS_TYPE_INVALID)) { - log_error("Out of memory."); + log_oom(); goto finish; } if (bus_broadcast(m, message) < 0) { - log_error("Out of memory."); + log_oom(); goto finish; } diff --git a/src/core/manager.c b/src/core/manager.c index 42a9490242..bcaf913b5a 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1625,7 +1625,7 @@ void manager_send_unit_plymouth(Manager *m, Unit *u) { } if (asprintf(&message, "U\002%c%s%n", (int) (strlen(u->id) + 1), u->id, &n) < 0) { - log_error("Out of memory."); + log_oom(); goto finish; } @@ -2073,10 +2073,8 @@ static int create_generator_dir(Manager *m, char **generator, const char *name) if (m->running_as == MANAGER_SYSTEM && getpid() == 1) { p = strappend("/run/systemd/", name); - if (!p) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!p) + return log_oom(); r = mkdir_p_label(p, 0755); if (r < 0) { @@ -2086,10 +2084,8 @@ static int create_generator_dir(Manager *m, char **generator, const char *name) } } else { p = strjoin("/tmp/systemd-", name, ".XXXXXX", NULL); - if (!p) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!p) + return log_oom(); if (!mkdtemp(p)) { free(p); diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c index fb6b4d25c0..c6bc65aecf 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -303,8 +303,7 @@ static int parse_proc_cmdline(void) { t = strv_append(arg_proc_cmdline_disks, word + 10); if (!t) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } strv_free(arg_proc_cmdline_disks); @@ -317,8 +316,7 @@ static int parse_proc_cmdline(void) { t = strv_append(arg_proc_cmdline_disks, word + 13); if (!t) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } strv_free(arg_proc_cmdline_disks); @@ -380,7 +378,7 @@ int main(int argc, char *argv[]) { device = strappend("UUID=", *i); if (!name || !device) { - log_error("Out of memory."); + log_oom(); r = EXIT_FAILURE; free(name); free(device); diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index 9d4e77364d..cc30e50003 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -343,7 +343,7 @@ int main(int argc, char *argv[]) { l = strcspn(opt_cipher, "-"); if (!(truncated_cipher = strndup(opt_cipher, l))) { - log_error("Out of memory."); + log_oom(); goto finish; } @@ -365,7 +365,7 @@ int main(int argc, char *argv[]) { char **p; if (asprintf(&text, "Please enter passphrase for disk %s!", name) < 0) { - log_error("Out of memory."); + log_oom(); goto finish; } @@ -383,7 +383,7 @@ int main(int argc, char *argv[]) { assert(strv_length(passwords) == 1); if (asprintf(&text, "Please enter passphrase for disk %s! (verification)", name) < 0) { - log_error("Out of memory."); + log_oom(); goto finish; } @@ -416,7 +416,7 @@ int main(int argc, char *argv[]) { /* Pad password if necessary */ if (!(c = new(char, opt_key_size))) { - log_error("Out of memory."); + log_oom(); goto finish; } diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c index 036d3c5b41..058f34d64f 100644 --- a/src/fsck/fsck.c +++ b/src/fsck/fsck.c @@ -297,7 +297,7 @@ int main(int argc, char *argv[]) { } if (!(udev = udev_new())) { - log_error("Out of memory."); + log_oom(); goto finish; } diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 89a4d13504..251a346c4d 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -47,7 +47,7 @@ static int device_name(const char *path, char **unit) { p = unit_name_from_path(path, ".device"); if (!p) - return -ENOMEM; + return log_oom(); *unit = p; return 1; @@ -98,15 +98,13 @@ static int add_swap(const char *what, struct mntent *me) { name = unit_name_from_path(what, ".swap"); if (!name) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } unit = strjoin(arg_dest, "/", name, NULL); if (!unit) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -148,8 +146,7 @@ static int add_swap(const char *what, struct mntent *me) { if (!noauto) { lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL); if (!lnk) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -161,18 +158,14 @@ static int add_swap(const char *what, struct mntent *me) { } r = device_name(what, &device); - if (r < 0) { - log_error("Out of memory."); - r = -ENOMEM; + if (r < 0) goto finish; - } if (r > 0) { free(lnk); lnk = strjoin(arg_dest, "/", device, ".wants/", name, NULL); if (!lnk) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -255,16 +248,14 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { } name = unit_name_from_path(where, ".mount"); - if (!name) { - log_error("Out of memory."); - r = -ENOMEM; + if (!name) { + r = log_oom(); goto finish; } unit = strjoin(arg_dest, "/", name, NULL); if (!unit) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -323,8 +314,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { if (!noauto) { lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL); if (!lnk) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -339,24 +329,20 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { !path_equal(where, "/")) { r = device_name(what, &device); - if (r < 0) { - log_error("Out of memory."); - r = -ENOMEM; + if (r < 0) goto finish; - } if (r > 0) { free(lnk); lnk = strjoin(arg_dest, "/", device, ".wants/", name, NULL); if (!lnk) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } mkdir_parents_label(lnk, 0755); if (symlink(unit, lnk) < 0) { - log_error("Failed to creat symlink: %m"); + log_error("Failed to create symlink: %m"); r = -errno; goto finish; } @@ -367,15 +353,13 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { if (automount && !path_equal(where, "/")) { automount_name = unit_name_from_path(where, ".automount"); if (!name) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } automount_unit = strjoin(arg_dest, "/", automount_name, NULL); if (!automount_unit) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -410,8 +394,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { free(lnk); lnk = strjoin(arg_dest, "/", post, nofail ? ".wants/" : ".requires/", automount_name, NULL); if (!lnk) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -459,16 +442,14 @@ static int parse_fstab(void) { what = fstab_node_to_udev_node(me->mnt_fsname); if (!what) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } where = strdup(me->mnt_dir); if (!where) { - log_error("Out of memory."); + r = log_oom(); free(what); - r = -ENOMEM; goto finish; } @@ -513,7 +494,7 @@ static int parse_proc_cmdline(void) { word = strndup(w, l); if (!word) { - r = -ENOMEM; + r = log_oom(); goto finish; } diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c index 9e46a47a9a..1cef6aeae9 100644 --- a/src/getty-generator/getty-generator.c +++ b/src/getty-generator/getty-generator.c @@ -42,8 +42,7 @@ static int add_symlink(const char *fservice, const char *tservice) { to = strjoin(arg_dest,"/getty.target.wants/", tservice, NULL); if (!from || !to) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -77,10 +76,8 @@ static int add_serial_getty(const char *tty) { log_debug("Automatically adding serial getty for /dev/%s.", tty); n = unit_name_replace_instance("serial-getty@.service", tty); - if (!n) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!n) + return log_oom(); r = add_symlink("serial-getty@.service", n); free(n); @@ -160,7 +157,7 @@ int main(int argc, char *argv[]) { int k; if (asprintf(&p, "/sys/class/tty/%s", j) < 0) { - log_error("Out of memory."); + log_oom(); r = EXIT_FAILURE; goto finish; } diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c index 7dab5f40df..8f9d5a04f5 100644 --- a/src/hostname/hostnamed.c +++ b/src/hostname/hostnamed.c @@ -532,8 +532,7 @@ static int connect_bus(DBusConnection **_bus) { if (!dbus_connection_register_object_path(bus, "/org/freedesktop/hostname1", &hostname_vtable, NULL) || !dbus_connection_add_filter(bus, bus_exit_idle_filter, &remain_until, NULL)) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto fail; } diff --git a/src/journal/cat.c b/src/journal/cat.c index cdd46bcf5b..523a7a2eda 100644 --- a/src/journal/cat.c +++ b/src/journal/cat.c @@ -91,10 +91,8 @@ static int parse_argv(int argc, char *argv[]) { arg_identifier = NULL; else { arg_identifier = strdup(optarg); - if (!arg_identifier) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!arg_identifier) + return log_oom(); } break; diff --git a/src/journal/coredump.c b/src/journal/coredump.c index cfd3a910d9..a507fc65f8 100644 --- a/src/journal/coredump.c +++ b/src/journal/coredump.c @@ -239,8 +239,7 @@ int main(int argc, char* argv[]) { p = malloc(9 + COREDUMP_MAX); if (!p) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c index a9cf9cd957..c924afbccc 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c @@ -256,8 +256,7 @@ static int add_matches(sd_journal *j, char **args) { t = strappend("_EXE=", path); if (!t) { free(p); - log_error("Out of memory."); - return -ENOMEM; + return log_oom(); } r = sd_journal_add_match(j, t, 0); diff --git a/src/journal/journald.c b/src/journal/journald.c index ae1fbc4bd4..5602e362df 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -393,7 +393,7 @@ static void server_vacuum(Server *s) { if (s->system_journal) { if (asprintf(&p, "/var/log/journal/%s", ids) < 0) { - log_error("Out of memory."); + log_oom(); return; } @@ -405,7 +405,7 @@ static void server_vacuum(Server *s) { if (s->runtime_journal) { if (asprintf(&p, "/run/log/journal/%s", ids) < 0) { - log_error("Out of memory."); + log_oom(); return; } @@ -1270,7 +1270,7 @@ static void process_native_message( u = MAX((n+N_IOVEC_META_FIELDS+1) * 2U, 4U); c = realloc(iovec, u * sizeof(struct iovec)); if (!c) { - log_error("Out of memory."); + log_oom(); break; } @@ -1357,7 +1357,7 @@ static void process_native_message( k = malloc((e - p) + 1 + l); if (!k) { - log_error("Out of memory."); + log_oom(); break; } @@ -1450,7 +1450,7 @@ static void process_native_file( p = malloc(st.st_size); if (!p) { - log_error("Out of memory."); + log_oom(); return; } @@ -1542,10 +1542,8 @@ static int stdout_stream_line(StdoutStream *s, char *p) { s->identifier = NULL; else { s->identifier = strdup(p); - if (!s->identifier) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!s->identifier) + return log_oom(); } s->state = STDOUT_STREAM_UNIT_ID; @@ -1557,10 +1555,8 @@ static int stdout_stream_line(StdoutStream *s, char *p) { s->unit_id = NULL; else { s->unit_id = strdup(p); - if (!s->unit_id) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!s->unit_id) + return log_oom(); } } @@ -1761,9 +1757,8 @@ static int stdout_stream_new(Server *s) { stream = new0(StdoutStream, 1); if (!stream) { - log_error("Out of memory."); close_nointr_nofail(fd); - return -ENOMEM; + return log_oom(); } stream->fd = fd; @@ -2753,10 +2748,8 @@ static int server_init(Server *s) { server_parse_proc_cmdline(s); s->user_journals = hashmap_new(trivial_hash_func, trivial_compare_func); - if (!s->user_journals) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!s->user_journals) + return log_oom(); s->epoll_fd = epoll_create1(EPOLL_CLOEXEC); if (s->epoll_fd < 0) { diff --git a/src/locale/localed.c b/src/locale/localed.c index b8007d72fd..22950a60a9 100644 --- a/src/locale/localed.c +++ b/src/locale/localed.c @@ -425,7 +425,7 @@ static void push_data(DBusConnection *bus) { l_set = new0(char*, _PROP_MAX); l_unset = new0(char*, _PROP_MAX); if (!l_set || !l_unset) { - log_error("Out of memory."); + log_oom(); goto finish; } @@ -438,7 +438,7 @@ static void push_data(DBusConnection *bus) { char *s; if (asprintf(&s, "%s=%s", names[p], data[p]) < 0) { - log_error("Out of memory."); + log_oom(); goto finish; } @@ -456,30 +456,30 @@ static void push_data(DBusConnection *bus) { dbus_message_iter_init_append(m, &iter); if (!dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "s", &sub)) { - log_error("Out of memory."); + log_oom(); goto finish; } STRV_FOREACH(t, l_unset) if (!dbus_message_iter_append_basic(&sub, DBUS_TYPE_STRING, t)) { - log_error("Out of memory."); + log_oom(); goto finish; } if (!dbus_message_iter_close_container(&iter, &sub) || !dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "s", &sub)) { - log_error("Out of memory."); + log_oom(); goto finish; } STRV_FOREACH(t, l_set) if (!dbus_message_iter_append_basic(&sub, DBUS_TYPE_STRING, t)) { - log_error("Out of memory."); + log_oom(); goto finish; } if (!dbus_message_iter_close_container(&iter, &sub)) { - log_error("Out of memory."); + log_oom(); goto finish; } @@ -1344,8 +1344,7 @@ static int connect_bus(DBusConnection **_bus) { if (!dbus_connection_register_object_path(bus, "/org/freedesktop/locale1", &locale_vtable, NULL) || !dbus_connection_add_filter(bus, bus_exit_idle_filter, &remain_until, NULL)) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto fail; } diff --git a/src/login/logind-button.c b/src/login/logind-button.c index 62e0c3dbba..d023294a59 100644 --- a/src/login/logind-button.c +++ b/src/login/logind-button.c @@ -107,10 +107,8 @@ int button_open(Button *b) { } p = strappend("/dev/input/", b->name); - if (!p) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!p) + return log_oom(); b->fd = open(p, O_RDWR|O_CLOEXEC|O_NOCTTY|O_NONBLOCK); free(p); diff --git a/src/login/logind-session.c b/src/login/logind-session.c index a43ecad2b1..16d4955d5d 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -374,10 +374,8 @@ static int session_link_x11_socket(Session *s) { k = strspn(s->display+1, "0123456789"); f = new(char, sizeof("/tmp/.X11-unix/X") + k); - if (!f) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!f) + return log_oom(); c = stpcpy(f, "/tmp/.X11-unix/X"); memcpy(c, s->display+1, k); @@ -395,9 +393,8 @@ static int session_link_x11_socket(Session *s) { t = strappend(s->user->runtime_path, "/X11-display"); if (!t) { - log_error("Out of memory."); free(f); - return -ENOMEM; + return log_oom(); } if (link(f, t) < 0) { @@ -468,10 +465,8 @@ static int session_create_cgroup(Session *s) { assert(s->user->cgroup_path); if (!s->cgroup_path) { - if (asprintf(&p, "%s/%s", s->user->cgroup_path, s->id) < 0) { - log_error("Out of memory."); - return -ENOMEM; - } + if (asprintf(&p, "%s/%s", s->user->cgroup_path, s->id) < 0) + return log_oom(); } else p = s->cgroup_path; @@ -669,10 +664,8 @@ static int session_unlink_x11_socket(Session *s) { s->user->display = NULL; t = strappend(s->user->runtime_path, "/X11-display"); - if (!t) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!t) + return log_oom(); r = unlink(t); free(t); diff --git a/src/login/logind-user.c b/src/login/logind-user.c index fca68159a7..aa9c3f1a31 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c @@ -259,10 +259,8 @@ static int user_mkdir_runtime_path(User *u) { } if (!u->runtime_path) { - if (asprintf(&p, "/run/user/%lu", (unsigned long) u->uid) < 0) { - log_error("Out of memory."); - return -ENOMEM; - } + if (asprintf(&p, "/run/user/%lu", (unsigned long) u->uid) < 0) + return log_oom(); } else p = u->runtime_path; @@ -286,10 +284,8 @@ static int user_create_cgroup(User *u) { assert(u); if (!u->cgroup_path) { - if (asprintf(&p, "%s/%s", u->manager->cgroup_path, u->name) < 0) { - log_error("Out of memory."); - return -ENOMEM; - } + if (asprintf(&p, "%s/%s", u->manager->cgroup_path, u->name) < 0) + return log_oom(); } else p = u->cgroup_path; diff --git a/src/login/logind.c b/src/login/logind.c index 1cfb7fa9ac..bae9a95f38 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -1020,10 +1020,8 @@ int manager_get_session_by_cgroup(Manager *m, const char *cgroup, Session **sess } p = strdup(cgroup); - if (!p) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!p) + return log_oom(); for (;;) { char *e; @@ -1061,10 +1059,8 @@ int manager_get_user_by_cgroup(Manager *m, const char *cgroup, User **user) { } p = strdup(cgroup); - if (!p) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!p) + return log_oom(); for (;;) { char *e; @@ -1176,8 +1172,7 @@ static int manager_connect_bus(Manager *m) { !dbus_connection_register_fallback(m->bus, "/org/freedesktop/login1/session", &bus_session_vtable, m) || !dbus_connection_register_fallback(m->bus, "/org/freedesktop/login1/user", &bus_user_vtable, m) || !dbus_connection_add_filter(m->bus, bus_message_filter, m, NULL)) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto fail; } @@ -1611,8 +1606,7 @@ int main(int argc, char *argv[]) { m = manager_new(); if (!m) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } diff --git a/src/login/multi-seat-x.c b/src/login/multi-seat-x.c index a1fab86f6a..59f70882d4 100644 --- a/src/login/multi-seat-x.c +++ b/src/login/multi-seat-x.c @@ -97,7 +97,7 @@ int main(int argc, char *argv[]) { device_node = strdup(dn); if (!device_node) { udev_device_unref(d); - log_error("Out of memory."); + log_oom(); goto fail; } } @@ -121,7 +121,7 @@ int main(int argc, char *argv[]) { path = strappend("/run/systemd/multi-session-x/", seat); if (!path) { - log_error("Out of memory."); + log_oom(); goto fail; } diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c index e73ba7f241..6aeaf459af 100644 --- a/src/modules-load/modules-load.c +++ b/src/modules-load/modules-load.c @@ -49,17 +49,13 @@ static int add_modules(const char *p) { char **t, **k; k = strv_split(p, ","); - if (!k) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!k) + return log_oom(); t = strv_merge(arg_proc_cmdline_modules, k); strv_free(k); - if (!t) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!t) + return log_oom(); strv_free(arg_proc_cmdline_modules); arg_proc_cmdline_modules = t; diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 355a103edf..b9fa02dc76 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -205,10 +205,8 @@ static int parse_argv(int argc, char *argv[]) { char *t; t = strndup(word, length); - if (!t) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!t) + return log_oom(); if (cap_from_name(t, &cap) < 0) { log_error("Failed to parse capability %s.", t); @@ -289,7 +287,7 @@ static int mount_all(const char *dest) { int t; if (asprintf(&where, "%s/%s", dest, mount_table[k].where) < 0) { - log_error("Out of memory."); + log_oom(); if (r == 0) r = -ENOMEM; @@ -335,20 +333,16 @@ static int setup_timezone(const char *dest) { assert(dest); /* Fix the timezone, if possible */ - if (asprintf(&where, "%s/etc/localtime", dest) < 0) { - log_error("Out of memory."); - return -ENOMEM; - } + if (asprintf(&where, "%s/etc/localtime", dest) < 0) + return log_oom(); if (mount("/etc/localtime", where, "bind", MS_BIND, NULL) >= 0) mount("/etc/localtime", where, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL); free(where); - if (asprintf(&where, "%s/etc/timezone", dest) < 0) { - log_error("Out of memory."); - return -ENOMEM; - } + if (asprintf(&where, "%s/etc/timezone", dest) < 0) + return log_oom(); if (mount("/etc/timezone", where, "bind", MS_BIND, NULL) >= 0) mount("/etc/timezone", where, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL); @@ -368,8 +362,7 @@ static int setup_resolv_conf(const char *dest) { /* Fix resolv.conf, if possible */ if (asprintf(&where, "%s/etc/resolv.conf", dest) < 0) { - log_error("Out of memory."); - return -ENOMEM; + return log_oom(); } if (mount("/etc/resolv.conf", where, "bind", MS_BIND, NULL) >= 0) @@ -480,8 +473,7 @@ static int setup_dev_console(const char *dest, const char *console) { } if (asprintf(&to, "%s/dev/console", dest) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -535,14 +527,12 @@ static int setup_kmsg(const char *dest, int kmsg_socket) { * avoid any problems with containers deadlocking due to this * we simply make /dev/kmsg unavailable to the container. */ if (asprintf(&from, "%s/dev/kmsg", dest) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } if (asprintf(&to, "%s/proc/kmsg", dest) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -639,8 +629,7 @@ static int setup_journal(const char *directory) { p = strappend(directory, "/etc/machine-id"); if (!p) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -670,8 +659,7 @@ static int setup_journal(const char *directory) { p = strappend("/var/log/journal/", l); q = strjoin(directory, "/var/log/journal/", l, NULL); if (!p || !q) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -1296,13 +1284,13 @@ int main(int argc, char *argv[]) { if ((asprintf((char**)(envp + 3), "HOME=%s", home ? home: "/root") < 0) || (asprintf((char**)(envp + 4), "USER=%s", arg_user ? arg_user : "root") < 0) || (asprintf((char**)(envp + 5), "LOGNAME=%s", arg_user ? arg_user : "root") < 0)) { - log_error("Out of memory."); + log_oom(); goto child_fail; } if (arg_uuid) { if (asprintf((char**)(envp + 6), "container_uuid=%s", arg_uuid) < 0) { - log_error("Out of memory."); + log_oom(); goto child_fail; } } diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c index 9fafa29f22..c219e77047 100644 --- a/src/rc-local-generator/rc-local-generator.c +++ b/src/rc-local-generator/rc-local-generator.c @@ -48,8 +48,7 @@ static int add_symlink(const char *service, const char *where) { asprintf(&to, "%s/%s.wants/%s", arg_dest, where, service); if (!from || !to) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c index 45d489a60e..4fcf64c24d 100644 --- a/src/readahead/readahead-collect.c +++ b/src/readahead/readahead-collect.c @@ -242,8 +242,7 @@ static int collect(const char *root) { assert(root); if (asprintf(&pack_fn, "%s/.readahead", root) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -477,8 +476,7 @@ done: log_debug("On btrfs: %s", yes_no(on_btrfs)); if (asprintf(&pack_fn_new, "%s/.readahead.new", root) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -510,8 +508,7 @@ done: n = hashmap_size(files); if (!(ordered = new(struct item, n))) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } diff --git a/src/readahead/readahead-replay.c b/src/readahead/readahead-replay.c index f90821e831..a1ac6b0c91 100644 --- a/src/readahead/readahead-replay.c +++ b/src/readahead/readahead-replay.c @@ -150,8 +150,7 @@ static int replay(const char *root) { block_bump_request_nr(root); if (asprintf(&pack_fn, "%s/.readahead", root) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } diff --git a/src/remount-fs/remount-fs.c b/src/remount-fs/remount-fs.c index 8b3aaeb32c..636c46f0f3 100644 --- a/src/remount-fs/remount-fs.c +++ b/src/remount-fs/remount-fs.c @@ -114,7 +114,7 @@ int main(int argc, char *argv[]) { s = strdup(me->mnt_dir); if (!s) { - log_error("Out of memory."); + log_oom(); ret = EXIT_FAILURE; continue; } diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c index 005f40fef7..8a0fb89a84 100644 --- a/src/shared/ask-password-api.c +++ b/src/shared/ask-password-api.c @@ -281,8 +281,7 @@ static int create_socket(char **name) { } if (!(c = strdup(sa.un.sun_path))) { - r = -ENOMEM; - log_error("Out of memory."); + r = log_oom(); goto fail; } diff --git a/src/shared/dbus-common.c b/src/shared/dbus-common.c index ab1dc4d7e4..5d64568c34 100644 --- a/src/shared/dbus-common.c +++ b/src/shared/dbus-common.c @@ -1161,7 +1161,7 @@ void bus_async_unregister_and_exit(DBusConnection *bus, const char *name) { return; oom: - log_error("Out of memory."); + log_oom(); if (pending) { dbus_pending_call_cancel(pending); diff --git a/src/shared/log.h b/src/shared/log.h index c986b2579d..7bdb3e0865 100644 --- a/src/shared/log.h +++ b/src/shared/log.h @@ -24,6 +24,7 @@ #include #include #include +#include #include "macro.h" @@ -102,6 +103,11 @@ int log_dump_internal( #define log_warning(...) log_meta(LOG_WARNING, __FILE__, __LINE__, __func__, __VA_ARGS__) #define log_error(...) log_meta(LOG_ERR, __FILE__, __LINE__, __func__, __VA_ARGS__) +static inline int log_oom(void) { + log_error("Out of memory."); + return -ENOMEM; +} + /* This modifies the buffer passed! */ #define log_dump(level, buffer) log_dump_internal(level, __FILE__, __LINE__, __func__, buffer) diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c index f90f5a1f0d..edb5a9cafb 100644 --- a/src/shared/logs-show.c +++ b/src/shared/logs-show.c @@ -52,10 +52,8 @@ static int parse_field(const void *data, size_t length, const char *field, char buf = malloc(nl+1); memcpy(buf, (const char*) data + fl, nl); ((char*)buf)[nl] = 0; - if (!buf) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!buf) + return log_oom(); free(*target); *target = buf; diff --git a/src/shared/util.c b/src/shared/util.c index 2e7ae63db2..5f360085a2 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -909,8 +909,7 @@ int load_env_file( continue; if (!(u = normalize_env_assignment(p))) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -918,8 +917,7 @@ int load_env_file( free(u); if (!t) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -4278,7 +4276,7 @@ void execute_directory(const char *directory, DIR *d, char *argv[]) { continue; if (asprintf(&path, "%s/%s", directory, de->d_name) < 0) { - log_error("Out of memory."); + log_oom(); continue; } diff --git a/src/shutdownd/shutdownd.c b/src/shutdownd/shutdownd.c index 9dd1336133..d426d9833d 100644 --- a/src/shutdownd/shutdownd.c +++ b/src/shutdownd/shutdownd.c @@ -212,10 +212,8 @@ static int update_schedule_file(struct sd_shutdown_command *c) { } t = cescape(c->wall_message); - if (!t) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!t) + return log_oom(); r = fopen_temporary("/run/systemd/shutdown/scheduled", &f, &temp_path); if (r < 0) { diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c index b463c7fac7..3bfc454c04 100644 --- a/src/sysctl/sysctl.c +++ b/src/sysctl/sysctl.c @@ -45,10 +45,8 @@ static int apply_sysctl(const char *property, const char *value) { log_debug("Setting '%s' to '%s'", property, value); p = new(char, sizeof(PROC_SYS_PREFIX) + strlen(property)); - if (!p) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!p) + return log_oom(); n = stpcpy(p, PROC_SYS_PREFIX); strcpy(n, property); @@ -191,10 +189,8 @@ static int parse_argv(int argc, char *argv[]) { *p = '/'; l = strv_append(arg_prefixes, optarg); - if (!l) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!l) + return log_oom(); strv_free(arg_prefixes); arg_prefixes = l; diff --git a/src/system-update-generator/system-update-generator.c b/src/system-update-generator/system-update-generator.c index abda5a0190..6660192f5e 100644 --- a/src/system-update-generator/system-update-generator.c +++ b/src/system-update-generator/system-update-generator.c @@ -47,10 +47,8 @@ static int generate_symlink(void) { } p = strappend(arg_dest, "/default.target"); - if (!p) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!p) + return log_oom(); if (symlink(SYSTEM_DATA_UNIT_PATH "/system-update.target", p) < 0) { free(p); diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index d493733761..ef8ab2dc14 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -657,10 +657,8 @@ static int list_unit_files(DBusConnection *bus, char **args) { Iterator i; h = hashmap_new(string_hash_func, string_compare_func); - if (!h) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!h) + return log_oom(); r = unit_file_get_list(arg_scope, arg_root, h); if (r < 0) { @@ -673,8 +671,7 @@ static int list_unit_files(DBusConnection *bus, char **args) { units = new(UnitFileList, n_units); if (!units) { unit_file_list_free(h); - log_error("Out of memory."); - return -ENOMEM; + return log_oom(); } HASHMAP_FOREACH(u, h, i) { @@ -2630,14 +2627,14 @@ static void show_unit_help(UnitStatusInfo *i) { if (e) { page = strndup((*p) + 4, e - *p - 4); if (!page) { - log_error("Out of memory."); + log_oom(); return; } section = strndup(e + 1, *p + k - e - 2); if (!section) { free(page); - log_error("Out of memory."); + log_oom(); return; } @@ -3282,10 +3279,8 @@ static int show(DBusConnection *bus, char **args) { n = unit_name_mangle(*name); p = unit_dbus_path_from_name(n ? n : *name); free(n); - if (!p) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!p) + return log_oom(); r = show_one(args[0], bus, p, show_properties, &new_line); free(p); @@ -3298,10 +3293,8 @@ static int show(DBusConnection *bus, char **args) { /* Interpret as job id */ char *p; - if (asprintf(&p, "/org/freedesktop/systemd1/job/%u", id) < 0) { - log_error("Out of memory."); - return -ENOMEM; - } + if (asprintf(&p, "/org/freedesktop/systemd1/job/%u", id) < 0) + return log_oom(); r = show_one(args[0], bus, p, show_properties, &new_line); free(p); @@ -3974,8 +3967,7 @@ static int enable_sysv_units(char **args) { asprintf(&p, "%s/%s", *k, name); if (!p) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -3995,8 +3987,7 @@ static int enable_sysv_units(char **args) { else asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); if (!p) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -4024,10 +4015,9 @@ static int enable_sysv_units(char **args) { l = strv_join((char**)argv, " "); if (!l) { - log_error("Out of memory."); free(q); free(p); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -4184,8 +4174,7 @@ static int enable_unit(DBusConnection *bus, char **args) { "org.freedesktop.systemd1.Manager", method); if (!m) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -4339,8 +4328,7 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { "org.freedesktop.systemd1.Manager", "GetUnitFileState"); if (!m) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c index 3fef9e8844..09fd808332 100644 --- a/src/timedate/timedated.c +++ b/src/timedate/timedated.c @@ -153,7 +153,7 @@ static void verify_timezone(void) { p = strappend("/usr/share/zoneinfo/", tz.zone); if (!p) { - log_error("Out of memory."); + log_oom(); return; } @@ -219,10 +219,8 @@ static int write_data_timezone(void) { } p = strappend("/usr/share/zoneinfo/", tz.zone); - if (!p) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!p) + return log_oom(); r = symlink_or_copy_atomic(p, "/etc/localtime"); free(p); @@ -341,7 +339,7 @@ static char** get_ntp_services(void) { q = strv_append(r, l); if (!q) { - log_error("Out of memory."); + log_oom(); break; } @@ -379,16 +377,14 @@ static int read_ntp(DBusConnection *bus) { "org.freedesktop.systemd1.Manager", "GetUnitFileState"); if (!m) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } if (!dbus_message_append_args(m, DBUS_TYPE_STRING, i, DBUS_TYPE_INVALID)) { - log_error("Could not append arguments to message."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -943,8 +939,7 @@ static int connect_bus(DBusConnection **_bus) { if (!dbus_connection_register_object_path(bus, "/org/freedesktop/timedate1", &timedate_vtable, NULL) || !dbus_connection_add_filter(bus, bus_exit_idle_filter, &remain_until, NULL)) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto fail; } diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index f8d89218c9..e70332ca06 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -260,8 +260,7 @@ static int dir_cleanup( sub_path = NULL; if (asprintf(&sub_path, "%s/%s", p, dent->d_name) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -969,10 +968,8 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) { assert(buffer); i = new0(Item, 1); - if (!i) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!i) + return log_oom(); if (sscanf(buffer, "%c " @@ -998,10 +995,8 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) { n += strspn(buffer+n, WHITESPACE); if (buffer[n] != 0 && (buffer[n] != '-' || buffer[n+1] != 0)) { i->argument = unquote(buffer+n, "\""); - if (!i->argument) { - log_error("Out of memory."); - return -ENOMEM; - } + if (!i->argument) + return log_oom(); } } @@ -1302,7 +1297,7 @@ static char *resolve_fragment(const char *fragment, const char **search_paths) { STRV_FOREACH(p, search_paths) { resolved_path = strjoin(*p, "/", fragment, NULL); if (resolved_path == NULL) { - log_error("Out of memory."); + log_oom(); return NULL; } @@ -1337,7 +1332,7 @@ int main(int argc, char *argv[]) { globs = hashmap_new(string_hash_func, string_compare_func); if (!items || !globs) { - log_error("Out of memory."); + log_oom(); r = EXIT_FAILURE; goto finish; } diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c index 403e8cd3c6..052c10e7d5 100644 --- a/src/tty-ask-password-agent/tty-ask-password-agent.c +++ b/src/tty-ask-password-agent/tty-ask-password-agent.c @@ -315,8 +315,7 @@ static int parse_password(const char *filename, char **wall) { *wall ? "\r\n\r\n" : "", message, pid) < 0) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } @@ -533,8 +532,7 @@ static int show_passwords(void) { continue; if (!(p = strappend("/run/systemd/ask-password/", de->d_name))) { - log_error("Out of memory."); - r = -ENOMEM; + r = log_oom(); goto finish; } diff --git a/src/udev/scsi_id/scsi_id.c b/src/udev/scsi_id/scsi_id.c index 0bb1bc495a..b1e089cb7c 100644 --- a/src/udev/scsi_id/scsi_id.c +++ b/src/udev/scsi_id/scsi_id.c @@ -198,8 +198,7 @@ static int get_file_options(struct udev *udev, buffer = malloc(MAX_BUFFER_LEN); if (!buffer) { fclose(fd); - log_error("Out of memory."); - return -1; + return log_oom(); } *newargv = NULL; @@ -231,7 +230,7 @@ static int get_file_options(struct udev *udev, if (str1 && strcasecmp(str1, "VENDOR") == 0) { str1 = get_value(&buf); if (!str1) { - retval = -1; + retval = log_oom(); break; } vendor_in = str1; @@ -240,7 +239,7 @@ static int get_file_options(struct udev *udev, if (str1 && strcasecmp(str1, "MODEL") == 0) { str1 = get_value(&buf); if (!str1) { - retval = -1; + retval = log_oom(); break; } model_in = str1; @@ -251,7 +250,7 @@ static int get_file_options(struct udev *udev, if (str1 && strcasecmp(str1, "OPTIONS") == 0) { str1 = get_value(&buf); if (!str1) { - retval = -1; + retval = log_oom(); break; } options_in = str1; @@ -294,8 +293,7 @@ static int get_file_options(struct udev *udev, c = argc_count(buffer) + 2; *newargv = calloc(c, sizeof(**newargv)); if (!*newargv) { - log_error("Out of memory."); - retval = -1; + retval = log_oom(); } else { *argc = c; c = 0; diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c index 7679d446e3..62d9c8d7b5 100644 --- a/src/vconsole/vconsole-setup.c +++ b/src/vconsole/vconsole-setup.c @@ -274,7 +274,7 @@ int main(int argc, char **argv) { t = strdup("/etc/sysconfig/console/default.kmap"); if (!t) { - log_error("Out of memory."); + log_oom(); goto finish; } @@ -415,7 +415,7 @@ int main(int argc, char **argv) { free(vc_keytable); if (!vc_keymap) { - log_error("Out of memory."); + log_oom(); goto finish; } } @@ -425,7 +425,7 @@ int main(int argc, char **argv) { t = strdup("/etc/sysconfig/console/default.kmap"); if (!t) { - log_error("Out of memory."); + log_oom(); goto finish; } -- cgit v1.2.3-54-g00ecf