X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibelogind%2Fsd-bus%2Fbus-message.c;h=c38b2a5fa5cb6160a22becd3fedc4fdda3ff9898;hb=c7ebb4bc4ee84c1235fb60d110ab6498c44c12a3;hp=70c38cf487be80bb14b7493c8e1727f8fc6991af;hpb=f48dd74a8d39b6074f820f904953f5cece03b9b0;p=elogind.git diff --git a/src/libelogind/sd-bus/bus-message.c b/src/libelogind/sd-bus/bus-message.c index 70c38cf48..c38b2a5fa 100644 --- a/src/libelogind/sd-bus/bus-message.c +++ b/src/libelogind/sd-bus/bus-message.c @@ -435,7 +435,6 @@ int bus_message_from_header( size_t message_size, int *fds, unsigned n_fds, - const struct ucred *ucred, const char *label, size_t extra, sd_bus_message **ret) { @@ -528,23 +527,6 @@ int bus_message_from_header( m->fds = fds; m->n_fds = n_fds; - if (ucred) { - m->creds.pid = ucred->pid; - m->creds.euid = ucred->uid; - m->creds.egid = ucred->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.euid != UID_INVALID) - m->creds.mask |= SD_BUS_CREDS_EUID; - - if (m->creds.egid != GID_INVALID) - m->creds.mask |= SD_BUS_CREDS_EGID; - } - if (label) { m->creds.label = (char*) m + ALIGN(sizeof(sd_bus_message)) + ALIGN(extra); memcpy(m->creds.label, label, label_sz + 1); @@ -565,7 +547,6 @@ int bus_message_from_malloc( size_t length, int *fds, unsigned n_fds, - const struct ucred *ucred, const char *label, sd_bus_message **ret) { @@ -579,7 +560,7 @@ int bus_message_from_malloc( buffer, length, length, fds, n_fds, - ucred, label, + label, 0, &m); if (r < 0) return r; @@ -5550,6 +5531,7 @@ int bus_message_get_blob(sd_bus_message *m, void **buffer, size_t *sz) { } int bus_message_read_strv_extend(sd_bus_message *m, char ***l) { + const char *s; int r; assert(m); @@ -5559,19 +5541,13 @@ int bus_message_read_strv_extend(sd_bus_message *m, char ***l) { if (r <= 0) return r; - for (;;) { - const char *s; - - r = sd_bus_message_read_basic(m, 's', &s); - if (r < 0) - return r; - if (r == 0) - break; - + while ((r = sd_bus_message_read_basic(m, 's', &s)) > 0) { r = strv_extend(l, s); if (r < 0) return r; } + if (r < 0) + return r; r = sd_bus_message_exit_container(m); if (r < 0)