|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
From 55534fb5e4742b0db9ae5e1e0202c53804147697 Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
From: Daniel Mack <daniel@zonque.org>
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
Date: Tue, 7 Oct 2014 12:36:09 +0200
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
Subject: [PATCH] bus-proxyd: check return values of getpeercred() and
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
getpeersec()
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
If we can't get the remote peer or security creds, bail out.
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
Spotted by coverity.
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
---
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
src/bus-proxyd/bus-proxyd.c | 13 +++++++++++--
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
1 file changed, 11 insertions(+), 2 deletions(-)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
index cbec04933c..ce571fa753 100644
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
--- a/src/bus-proxyd/bus-proxyd.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+++ b/src/bus-proxyd/bus-proxyd.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
@@ -1146,8 +1146,17 @@ int main(int argc, char *argv[]) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
sd_is_socket(out_fd, AF_UNIX, 0, 0) > 0;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
if (is_unix) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
- getpeercred(in_fd, &ucred);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
- getpeersec(in_fd, &peersec);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ r = getpeercred(in_fd, &ucred);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ if (r < 0) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ log_error("Failed to get peer creds: %s", strerror(-r));
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ goto finish;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ }
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ r = getpeersec(in_fd, &peersec);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ if (r < 0) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ log_error("Failed to get security creds: %s", strerror(-r));
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ goto finish;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ }
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
if (arg_drop_privileges) {
|