Index: sandbox/linux/suid/client/setuid_sandbox_client.cc |
diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc |
index 749d2d099e3dcd820529c558fea6eb1f877a3a02..4f62d097cbcdd389a1a7b87413f790aaeffdbd21 100644 |
--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc |
+++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc |
@@ -103,8 +103,9 @@ SetuidSandboxClient* SetuidSandboxClient::Create() { |
return sandbox_client; |
} |
-SetuidSandboxClient::SetuidSandboxClient() { |
- env_ = NULL; |
+SetuidSandboxClient::SetuidSandboxClient() |
+ : env_(NULL), |
+ sandboxed_(false) { |
} |
SetuidSandboxClient::~SetuidSandboxClient() { |
@@ -142,6 +143,10 @@ bool SetuidSandboxClient::ChrootMe() { |
LOG(ERROR) << "Error code reply from chroot helper"; |
return false; |
} |
+ |
+ // We now consider ourselves "fully sandboxed" as far as the |
+ // setuid sandbox is concerned. |
+ sandboxed_ = true; |
return true; |
} |
@@ -161,6 +166,10 @@ bool SetuidSandboxClient::IsInNewNETNamespace() const { |
return env_->HasVar(kSandboxNETNSEnvironmentVarName); |
} |
+bool SetuidSandboxClient::IsSandboxed() const { |
+ return sandboxed_; |
+} |
+ |
void SetuidSandboxClient::SetupLaunchEnvironment() { |
SaveSUIDUnsafeEnvironmentVariables(env_); |
SetSandboxAPIEnvironmentVariable(env_); |