From: Zbigniew Jędrzejewski-Szmek Date: Thu, 6 Feb 2020 20:16:08 +0000 (+0100) Subject: core/selinux-access: do not use NULL for %s X-Git-Tag: v245-rc2~78^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=22cd7aabecd81fca14026749e48eadddff98a4bd;p=thirdparty%2Fsystemd.git core/selinux-access: do not use NULL for %s ../src/core/selinux-access.c: In function ‘mac_selinux_generic_access_check’: ../src/basic/log.h:223:27: error: ‘%s’ directive argument is null [-Werror=format-overflow=] ../src/core/selinux-access.c:235:85: note: format string is defined here 235 | log_warning_errno(errno, "SELinux getcon_raw failed (tclass=%s perm=%s): %m", tclass, permission); | ^~ I wonder why nobody ever noticed this. Fixes #14691 (other issues listed in that ticket have already been fixed). --- diff --git a/src/core/selinux-access.c b/src/core/selinux-access.c index fb382317027..2ad500d5392 100644 --- a/src/core/selinux-access.c +++ b/src/core/selinux-access.c @@ -181,7 +181,7 @@ int mac_selinux_generic_access_check( sd_bus_error *error) { _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; - const char *tclass = NULL, *scon = NULL; + const char *tclass, *scon; struct audit_info audit_info = {}; _cleanup_free_ char *cl = NULL; char *fcon = NULL; @@ -223,7 +223,7 @@ int mac_selinux_generic_access_check( r = getfilecon_raw(path, &fcon); if (r < 0) { - log_warning_errno(errno, "SELinux getfilecon_raw on '%s' failed (tclass=%s perm=%s): %m", path, tclass, permission); + log_warning_errno(errno, "SELinux getfilecon_raw on '%s' failed (perm=%s): %m", path, permission); r = sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Failed to get file context on %s.", path); goto finish; } @@ -232,7 +232,7 @@ int mac_selinux_generic_access_check( } else { r = getcon_raw(&fcon); if (r < 0) { - log_warning_errno(errno, "SELinux getcon_raw failed (tclass=%s perm=%s): %m", tclass, permission); + log_warning_errno(errno, "SELinux getcon_raw failed (perm=%s): %m", permission); r = sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Failed to get current context."); goto finish; }