summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/ask-password-api.c3
-rw-r--r--src/shared/dbus-common.c2
-rw-r--r--src/shared/log.h6
-rw-r--r--src/shared/logs-show.c6
-rw-r--r--src/shared/util.c8
5 files changed, 13 insertions, 12 deletions
diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c
index 005f40fef..8a0fb89a8 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 ab1dc4d7e..5d64568c3 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 c986b2579..7bdb3e086 100644
--- a/src/shared/log.h
+++ b/src/shared/log.h
@@ -24,6 +24,7 @@
#include <syslog.h>
#include <stdbool.h>
#include <stdarg.h>
+#include <errno.h>
#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 f90f5a1f0..edb5a9caf 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 2e7ae63db..5f360085a 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;
}