From 9af111fe045d82192bacc722940e1d92a8ba4cbd Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 21 Sep 2015 07:16:13 +0100 Subject: Xext/xselinux: Warning fixes There's a 'const char *' adventure here that I'm mostly ignoring; some client information gets const poisoned. Worked around by adding a couple of casts. Ick. Added an _X_ATTRIBUTE_PRINTF to SELinuxLog. Ignore a couple of unused return values. Reviewed-by: Adam Jackson Signed-off-by: Keith Packard --- Xext/xselinux_hooks.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Xext') diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c index 48219a9e0..e69bfe7ae 100644 --- a/Xext/xselinux_hooks.c +++ b/Xext/xselinux_hooks.c @@ -147,7 +147,7 @@ SELinuxLabelClient(ClientPtr client) strncpy(subj->command, cmdname, COMMAND_LEN - 1); if (!cached) - free(cmdname); /* const char * */ + free((void *) cmdname); /* const char * */ } finish: @@ -294,6 +294,9 @@ SELinuxAudit(void *auditdata, audit->extension ? audit->extension : ""); } +static int +SELinuxLog(int type, const char *fmt, ...) _X_ATTRIBUTE_PRINTF(2, 3); + static int SELinuxLog(int type, const char *fmt, ...) { @@ -316,6 +319,7 @@ SELinuxLog(int type, const char *fmt, ...) va_start(ap, fmt); vsnprintf(buf, MAX_AUDIT_MESSAGE_LENGTH, fmt, ap); rc = audit_log_user_avc_message(audit_fd, aut, buf, NULL, NULL, NULL, 0); + (void) rc; va_end(ap); LogMessageVerb(X_WARNING, 0, "%s", buf); return 0; @@ -476,7 +480,7 @@ SELinuxExtension(CallbackListPtr *pcbl, void *unused, void *calldata) } /* Perform the security check */ - auditdata.extension = rec->ext->name; + auditdata.extension = (char *) rec->ext->name; rc = SELinuxDoCheck(subj, obj, SECCLASS_X_EXTENSION, rec->access_mode, &auditdata); if (rc != Success) -- cgit v1.2.3