summaryrefslogtreecommitdiffabout
path: root/src
authorMichael Krelin <hacker@klever.net>2011-10-10 21:26:52 (UTC)
committer Michael Krelin <hacker@klever.net>2011-10-12 19:22:51 (UTC)
commit970337c91c02afa9b8d33ab5596270594ffe58e6 (patch) (side-by-side diff)
tree198e49630826aea7289f60635f52ccb2476d36cc /src
parent6a68fcae465905e904eea248ffe6b1ed6b8297a4 (diff)
downloaddudki-970337c91c02afa9b8d33ab5596270594ffe58e6.zip
dudki-970337c91c02afa9b8d33ab5596270594ffe58e6.tar.gz
dudki-970337c91c02afa9b8d33ab5596270594ffe58e6.tar.bz2
Some work in compiler happiness department.
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'src') (more/less context) (show whitespace changes)
-rw-r--r--src/dudki.cc2
-rw-r--r--src/process.cc3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/dudki.cc b/src/dudki.cc
index 91a3342..1f95be4 100644
--- a/src/dudki.cc
+++ b/src/dudki.cc
@@ -2,12 +2,14 @@
#include <signal.h>
#include <syslog.h>
#include <errno.h>
#include <iostream>
#include <fstream>
#include <stdexcept>
+#include <cstring>
+#include <stdlib.h>
using namespace std;
#include "configuration.h"
#include "util.h"
#include "config.h"
#ifdef HAVE_GETOPT_H
diff --git a/src/process.cc b/src/process.cc
index 4807b98..3e9cc2b 100644
--- a/src/process.cc
+++ b/src/process.cc
@@ -4,12 +4,13 @@
#include <signal.h>
#include <pwd.h>
#include <grp.h>
#include <dirent.h>
#include <sys/wait.h>
#include <syslog.h>
+#include <stdlib.h>
#include <errno.h>
#include <iostream>
#include <fstream>
#include <sstream>
#include <stdexcept>
#include <string>
@@ -109,13 +110,13 @@ void process::launch(const string& id,configuration& config) {
throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to chroot()");
}
if(!user.empty()) {
if((getuid()!=uid) && setuid(uid))
throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to setuid()");
}
- char *argv[] = { "/bin/sh", "-c", (char*)restart_cmd.c_str(), NULL };
+ char *argv[] = { const_cast<char*>("/bin/sh"), const_cast<char*>("-c"), (char*)restart_cmd.c_str(), NULL };
close(0); close(1); close(2);
execv("/bin/sh",argv);
}catch(exception& e) {
syslog(LOG_ERR,"Error trying to launch process '%s': %s",id.c_str(),e.what());
}
_exit(-1);