systemd/0701-pid1-normalize-oom-error-handling-a-bit.patch
Jan Macku 1e44c171ce systemd-257-32
Resolves: RHEL-158349, RHEL-169656, RHEL-115813
2026-07-31 14:16:56 +02:00

71 lines
2.4 KiB
Diff

From 63e6c6b5cb74cd8bb407ccb3f153a7dd92ad3274 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Tue, 10 Dec 2024 11:10:30 +0100
Subject: [PATCH] pid1: normalize oom error handling a bit
(cherry picked from commit cf7d0a2d2e00846096908082ffc3fc1953e015e6)
Related: RHEL-169656
---
src/core/exec-credential.c | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/src/core/exec-credential.c b/src/core/exec-credential.c
index bce0ee7968..784cea208d 100644
--- a/src/core/exec-credential.c
+++ b/src/core/exec-credential.c
@@ -117,10 +117,9 @@ int exec_context_put_load_credential(ExecContext *c, const char *id, const char
return -ENOMEM;
r = hashmap_ensure_put(&c->load_credentials, &exec_load_credential_hash_ops, lc->id, lc);
- if (r < 0) {
- assert(r != -EEXIST);
+ assert(r != -EEXIST);
+ if (r < 0)
return r;
- }
TAKE_PTR(lc);
}
@@ -167,10 +166,9 @@ int exec_context_put_set_credential(
return -ENOMEM;
r = hashmap_ensure_put(&c->set_credentials, &exec_set_credential_hash_ops, sc->id, sc);
- if (r < 0) {
- assert(r != -EEXIST);
+ assert(r != -EEXIST);
+ if (r < 0)
return r;
- }
TAKE_PTR(sc);
}
@@ -193,19 +191,22 @@ int exec_context_put_import_credential(ExecContext *c, const char *glob, const c
*ic = (ExecImportCredential) {
.glob = strdup(glob),
- .rename = rename ? strdup(rename) : NULL,
};
- if (!ic->glob || (rename && !ic->rename))
+ if (!ic->glob)
return -ENOMEM;
+ if (rename) {
+ ic->rename = strdup(rename);
+ if (!ic->rename)
+ return -ENOMEM;
+ }
if (ordered_set_contains(c->import_credentials, ic))
return 0;
r = ordered_set_ensure_put(&c->import_credentials, &exec_import_credential_hash_ops, ic);
- if (r < 0) {
- assert(r != -EEXIST);
+ assert(r != -EEXIST);
+ if (r < 0)
return r;
- }
TAKE_PTR(ic);