[X2Go-Commits] [x2gobroker] 01/02: src/x2gobroker-{agent, ssh}.c: catch errors in setuid wrappers and add general return clause to make compilers happy.
git-admin at x2go.org
git-admin at x2go.org
Tue Nov 13 15:46:11 CET 2018
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository x2gobroker.
commit ce8b512f0291137e2ed997202bbce5040f754441
Author: Mihai Moldovan <ionic at ionic.de>
Date: Tue Nov 13 15:40:34 2018 +0100
src/x2gobroker-{agent,ssh}.c: catch errors in setuid wrappers and add general return clause to make compilers happy.
---
debian/changelog | 2 ++
src/x2gobroker-agent.c | 18 ++++++++++++++++--
src/x2gobroker-ssh.c | 17 +++++++++++++++--
3 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index f7db306..9e2dbfa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -117,6 +117,8 @@ x2gobroker (0.0.4.0-0x2go1) UNRELEASED; urgency=medium
[ Mihai Moldovan ]
* New upstream version (0.0.4.0):
+ - src/x2gobroker-{agent,ssh}.c: catch errors in setuid wrappers and add
+ general return clause to make compilers happy.
* x2gobroker.spec:
- Add %debug_package macro when debugging is to be enabled, hoping that it
will actually generate proper debuginfo (and -source) sub packages
diff --git a/src/x2gobroker-agent.c b/src/x2gobroker-agent.c
index be88f60..45f908a 100644
--- a/src/x2gobroker-agent.c
+++ b/src/x2gobroker-agent.c
@@ -20,13 +20,27 @@
*/
#include <unistd.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <stdio.h>
int main( int argc, char *argv[] ) {
-
char x2gobrokeragent[] = TRUSTED_BINARY;
argv[0] = "x2gobroker-agent.pl";
// execute the script, running with user-rights of this binary
- execv(x2gobrokeragent, argv);
+ int ret = execv(x2gobrokeragent, argv);
+ int saved_errno = errno;
+
+ if (ret) {
+ fprintf (stderr, "unable to execute script '");
+ fprintf (stderr, TRUSTED_BINARY);
+ fprintf (stderr, "': ");
+ fprintf (stderr, strerror (saved_errno));
+
+ return (EXIT_FAILURE);
+ }
+ /* Should not be reached. */
+ return (EXIT_SUCCESS);
}
diff --git a/src/x2gobroker-ssh.c b/src/x2gobroker-ssh.c
index 1e7786b..14554a7 100644
--- a/src/x2gobroker-ssh.c
+++ b/src/x2gobroker-ssh.c
@@ -20,13 +20,26 @@
*/
#include <unistd.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <stdio.h>
int main( int argc, char *argv[] ) {
-
char x2gobrokerssh[] = TRUSTED_BINARY;
argv[0] = "x2gobroker";
// execute the script, running with user-rights of this binary
- execv(x2gobrokerssh, argv);
+ int ret = execv(x2gobrokerssh, argv);
+
+ if (ret) {
+ fprintf (stderr, "unable to execute script '");
+ fprintf (stderr, TRUSTED_BINARY);
+ fprintf (stderr, "': ");
+ fprintf (stderr, strerror (saved_errno));
+
+ return (EXIT_FAILURE);
+ }
+ /* Should not be reached. */
+ return (EXIT_SUCCESS);
}
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2gobroker.git
More information about the x2go-commits
mailing list