From 32c9bf14ce1a1b4219c765e6c56823c786d97aff Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Thu, 8 Aug 2024 10:57:35 +0200 Subject: [PATCH] taint: Add taint_strv() to get taints as an array --- src/core/taint.c | 14 ++++++++++++-- src/core/taint.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/core/taint.c b/src/core/taint.c index 969b37f209..b7a1c647a2 100644 --- a/src/core/taint.c +++ b/src/core/taint.c @@ -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, ":"); } diff --git a/src/core/taint.h b/src/core/taint.h index 2e514e3335..fb47156511 100644 --- a/src/core/taint.h +++ b/src/core/taint.h @@ -1,4 +1,5 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +char** taint_strv(void); char* taint_string(void);