]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
taint: Add taint_strv() to get taints as an array
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 8 Aug 2024 08:57:35 +0000 (10:57 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 14 Aug 2024 12:18:40 +0000 (14:18 +0200)
src/core/taint.c
src/core/taint.h

index 969b37f2091caa98cdf12d96752bd1c8eb6f5583..b7a1c647a2bfad482e3ec91ddf95ff5014520abc 100644 (file)
@@ -31,7 +31,7 @@ static int short_uid_gid_range(UIDRangeUsernsMode mode) {
         return !uid_range_covers(p, 0, 65535);
 }
 
-char* taint_string(void) {
+char** taint_strv(void) {
         const char *stage[12] = {};
         size_t n = 0;
 
@@ -81,5 +81,15 @@ char* taint_string(void) {
 
         assert(n < ELEMENTSOF(stage) - 1);  /* One extra for NULL terminator */
 
-        return strv_join((char**) stage, ":");
+        return strv_copy((char *const *) stage);
+}
+
+char* taint_string(void) {
+        _cleanup_strv_free_ char **taints = NULL;
+
+        taints = taint_strv();
+        if (!taints)
+                return NULL;
+
+        return strv_join(taints, ":");
 }
index 2e514e333529ee51d9a2085faefa40d201863505..fb47156511cc56ec366a0465284da6bd9660c06f 100644 (file)
@@ -1,4 +1,5 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 #pragma once
 
+char** taint_strv(void);
 char* taint_string(void);