[PATCH xserver 02/24] Xext/xselinux: Warning fixes

Keith Packard keithp at keithp.com
Sun Sep 20 23:16:13 PDT 2015


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.

Signed-off-by: Keith Packard <keithp at keithp.com>
---
 Xext/xselinux_hooks.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c
index 48219a9..e69bfe7 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:
@@ -295,6 +295,9 @@ SELinuxAudit(void *auditdata,
 }
 
 static int
+SELinuxLog(int type, const char *fmt, ...) _X_ATTRIBUTE_PRINTF(2, 3);
+
+static int
 SELinuxLog(int type, const char *fmt, ...)
 {
     va_list ap;
@@ -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)
-- 
2.5.0



More information about the xorg-devel mailing list