chiark / gitweb /
systemd: fix uninitialized memory access in selinux
[elogind.git] / src / core / selinux-access.c
index 6dfe8b45f3e5095d48391db5b63bee5a3ae4b022..08a4834575a3c8548e99e34340f0f5e38bc69073 100644 (file)
@@ -104,8 +104,6 @@ static int bus_get_selinux_security_context(
 
         *scon = b;
 
-        log_debug("GetConnectionSELinuxSecurityContext %s (pid %ld)", *scon, (long) bus_get_unix_process_id(connection, name, error));
-
         return 0;
 }
 
@@ -134,7 +132,7 @@ static int bus_get_audit_data(
         if (r < 0)
                 return r;
 
-        r = get_process_cmdline(pid, LINE_MAX, true, &audit->cmdline);
+        r = get_process_cmdline(pid, 0, true, &audit->cmdline);
         if (r < 0)
                 return r;
 
@@ -258,7 +256,7 @@ static int get_audit_data(
         const char *sender;
         int r, fd;
         struct ucred ucred;
-        socklen_t len;
+        socklen_t len = sizeof(ucred);
 
         sender = dbus_message_get_sender(message);
         if (sender)
@@ -280,7 +278,7 @@ static int get_audit_data(
         if (r < 0)
                 return r;
 
-        r = get_process_cmdline(ucred.pid, LINE_MAX, true, &audit->cmdline);
+        r = get_process_cmdline(ucred.pid, 0, true, &audit->cmdline);
         if (r < 0)
                 return r;
 
@@ -308,8 +306,6 @@ static int get_calling_context(
         */
         sender = dbus_message_get_sender(message);
         if (sender) {
-                log_error("SELinux Got Sender %s", sender);
-
                 r = bus_get_selinux_security_context(connection, sender, scon, error);
                 if (r >= 0)
                         return r;
@@ -318,7 +314,6 @@ static int get_calling_context(
                 return r;
         }
 
-        log_debug("SELinux No Sender");
         if (!dbus_connection_get_unix_fd(connection, &fd)) {
                 log_error("bus_connection_get_unix_fd failed %m");
                 return -EINVAL;
@@ -363,8 +358,6 @@ int selinux_access_check(
         if (r < 0)
                 return r;
 
-        log_debug("SELinux access check for path=%s permission=%s", strna(path), permission);
-
         audit.uid = audit.loginuid = (uid_t) -1;
         audit.gid = (gid_t) -1;
         audit.cmdline = NULL;