forked from pool/systemd
f037c9430f
- Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: fix acpi memleak. - Add 0002-fix-lingering-references-to-var-lib-backlight-random.patch: fix invalid path in documentation. - Add 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: fix invalid memory free. - Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix name mangling for sysv units. - Add 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: fix OOM handling. - Add 0006-journald-add-missing-error-check.patch: add missing error check. - Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: fix uninitialized memory access. - Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix return value. - Add 0009-modules-load-fix-error-handling.patch: fix error handling. - Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: fix incorrect memory access. - Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: fix incorrect memory access. - Add 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: fix invalid pointer. - Add 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: (forwarded request 202117 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/202147 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=162
49 lines
1.8 KiB
Diff
49 lines
1.8 KiB
Diff
From 4b93637fd7dddb0a1518f35171998b2c7cd5c5bd Mon Sep 17 00:00:00 2001
|
|
From: Lennart Poettering <lennart@poettering.net>
|
|
Date: Wed, 2 Oct 2013 19:36:28 +0200
|
|
Subject: [PATCH 05/15] cryptsetup: fix OOM handling when parsing mount options
|
|
|
|
---
|
|
src/cryptsetup/cryptsetup.c | 11 ++++++-----
|
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
|
|
index 22b5eea..769c3e4 100644
|
|
--- a/src/cryptsetup/cryptsetup.c
|
|
+++ b/src/cryptsetup/cryptsetup.c
|
|
@@ -74,7 +74,7 @@ static int parse_one_option(const char *option) {
|
|
|
|
t = strdup(option+7);
|
|
if (!t)
|
|
- return -ENOMEM;
|
|
+ return log_oom();
|
|
|
|
free(opt_cipher);
|
|
opt_cipher = t;
|
|
@@ -89,9 +89,10 @@ static int parse_one_option(const char *option) {
|
|
} else if (startswith(option, "tcrypt-keyfile=")) {
|
|
|
|
opt_type = CRYPT_TCRYPT;
|
|
- if (path_is_absolute(option+15))
|
|
- opt_tcrypt_keyfiles = strv_append(opt_tcrypt_keyfiles, strdup(option+15));
|
|
- else
|
|
+ if (path_is_absolute(option+15)) {
|
|
+ if (strv_extend(&opt_tcrypt_keyfiles, option + 15) < 0)
|
|
+ return log_oom();
|
|
+ } else
|
|
log_error("Key file path '%s' is not absolute. Ignoring.", option+15);
|
|
|
|
} else if (startswith(option, "keyfile-size=")) {
|
|
@@ -113,7 +114,7 @@ static int parse_one_option(const char *option) {
|
|
|
|
t = strdup(option+5);
|
|
if (!t)
|
|
- return -ENOMEM;
|
|
+ return log_oom();
|
|
|
|
free(opt_hash);
|
|
opt_hash = t;
|
|
--
|
|
1.8.4
|
|
|