summaryrefslogtreecommitdiff
path: root/src/lib/cross_linux.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/cross_linux.cc')
-rw-r--r--src/lib/cross_linux.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/lib/cross_linux.cc b/src/lib/cross_linux.cc
index b6241ec1a..262ba59ce 100644
--- a/src/lib/cross_linux.cc
+++ b/src/lib/cross_linux.cc
@@ -373,16 +373,23 @@ unprivileged ()
}
}
+
+bool PrivilegeEscalator::test = false;
+
PrivilegeEscalator::~PrivilegeEscalator ()
{
- unprivileged ();
+ if (!test) {
+ unprivileged ();
+ }
}
PrivilegeEscalator::PrivilegeEscalator ()
{
- int const r = seteuid(0);
- if (r < 0) {
- throw PrivilegeError (String::compose("seteuid() call failed with %1", errno));
+ if (!test) {
+ int const r = seteuid(0);
+ if (r < 0) {
+ throw PrivilegeError (String::compose("seteuid() call failed with %1", errno));
+ }
}
}