1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-02 10:51:20 +03:00

sd-bus: don't blindly take incomplete ucred bits from AF_UNIX when constructing message

This commit is contained in:
Lennart Poettering 2014-11-24 21:20:53 +01:00
parent bdb074a562
commit dc18cefdc3

View File

@ -420,10 +420,20 @@ int bus_message_from_header(
m->n_fds = n_fds;
if (ucred) {
m->creds.uid = ucred->uid;
m->creds.pid = ucred->pid;
m->creds.uid = ucred->uid;
m->creds.gid = ucred->gid;
m->creds.mask |= SD_BUS_CREDS_UID | SD_BUS_CREDS_PID | SD_BUS_CREDS_GID;
/* Due to namespace translations some data might be
* missing from this ucred record. */
if (m->creds.pid > 0)
m->creds.mask |= SD_BUS_CREDS_PID;
if (m->creds.uid != (uid_t) -1)
m->creds.mask |= SD_BUS_CREDS_UID;
if (m->creds.gid != (gid_t) -1)
m->creds.mask |= SD_BUS_CREDS_GID;
}
if (label) {