mirror of
https://github.com/google/sandboxed-api.git
synced 2024-03-22 13:11:30 +08:00
use api->sandbox() instead of send sandbox as an argument
This commit is contained in:
parent
56615d5d57
commit
64d04a80e5
|
@ -28,15 +28,15 @@ struct Data {
|
|||
std::unique_ptr<sapi::v::Array<uint8_t>> row_pointers;
|
||||
};
|
||||
|
||||
absl::StatusOr<Data> ReadPng(LibPNGApi& api, LibPNGSapiSandbox& sandbox,
|
||||
absl::string_view infile) {
|
||||
absl::StatusOr<Data> ReadPng(LibPNGApi& api, absl::string_view infile) {
|
||||
sapi::v::Fd fd(open(infile.data(), O_RDONLY));
|
||||
|
||||
if (fd.GetValue() < 0) {
|
||||
return absl::InternalError("Error opening input file");
|
||||
}
|
||||
|
||||
SAPI_RETURN_IF_ERROR(sandbox.TransferToSandboxee(&fd));
|
||||
SAPI_RETURN_IF_ERROR((&api)->sandbox()->TransferToSandboxee(&fd));
|
||||
|
||||
if (fd.GetRemoteFd() < 0) {
|
||||
return absl::InternalError("Error receiving remote FD");
|
||||
}
|
||||
|
@ -118,14 +118,13 @@ absl::StatusOr<Data> ReadPng(LibPNGApi& api, LibPNGSapiSandbox& sandbox,
|
|||
return data;
|
||||
}
|
||||
|
||||
absl::Status WritePng(LibPNGApi& api, LibPNGSapiSandbox& sandbox,
|
||||
absl::string_view outfile, Data& data) {
|
||||
absl::Status WritePng(LibPNGApi& api, absl::string_view outfile, Data& data) {
|
||||
sapi::v::Fd fd(open(outfile.data(), O_WRONLY));
|
||||
if (fd.GetValue() < 0) {
|
||||
return absl::InternalError("Error opening output file");
|
||||
}
|
||||
|
||||
SAPI_RETURN_IF_ERROR(sandbox.TransferToSandboxee(&fd));
|
||||
SAPI_RETURN_IF_ERROR((&api)->sandbox()->TransferToSandboxee(&fd));
|
||||
if (fd.GetRemoteFd() < 0) {
|
||||
return absl::InternalError("Error receiving remote FD");
|
||||
}
|
||||
|
@ -191,7 +190,7 @@ absl::Status LibPNGMain(const std::string& infile, const std::string& outfile) {
|
|||
SAPI_RETURN_IF_ERROR(sandbox.Init());
|
||||
LibPNGApi api(&sandbox);
|
||||
|
||||
SAPI_ASSIGN_OR_RETURN(Data data, ReadPng(api, sandbox, infile));
|
||||
SAPI_ASSIGN_OR_RETURN(Data data, ReadPng(api, infile));
|
||||
|
||||
if (data.color_type != PNG_COLOR_TYPE_RGBA &&
|
||||
data.color_type != PNG_COLOR_TYPE_RGB) {
|
||||
|
@ -217,7 +216,7 @@ absl::Status LibPNGMain(const std::string& infile, const std::string& outfile) {
|
|||
}
|
||||
}
|
||||
|
||||
SAPI_RETURN_IF_ERROR(WritePng(api, sandbox, outfile, data));
|
||||
SAPI_RETURN_IF_ERROR(WritePng(api, outfile, data));
|
||||
return absl::OkStatus();
|
||||
}
|
||||
|
||||
|
|
|
@ -41,12 +41,12 @@ struct Data {
|
|||
std::unique_ptr<sapi::v::Array<uint8_t>> row_pointers;
|
||||
};
|
||||
|
||||
void ReadPng(LibPNGApi& api, LibPNGSapiSandbox& sandbox,
|
||||
absl::string_view infile, Data& data) {
|
||||
void ReadPng(LibPNGApi& api, absl::string_view infile, Data& data) {
|
||||
sapi::v::Fd fd(open(infile.data(), O_RDONLY));
|
||||
|
||||
ASSERT_THAT(fd.GetValue(), Ge(0)) << "Error opening input file";
|
||||
ASSERT_THAT(sandbox.TransferToSandboxee(&fd), IsOk());
|
||||
ASSERT_THAT((&api)->sandbox()->TransferToSandboxee(&fd), IsOk());
|
||||
|
||||
ASSERT_THAT(fd.GetRemoteFd(), Ge(0)) << "Error receiving remote FD";
|
||||
|
||||
sapi::v::ConstCStr rb_var("rb");
|
||||
|
@ -132,12 +132,12 @@ void ReadPng(LibPNGApi& api, LibPNGSapiSandbox& sandbox,
|
|||
ASSERT_THAT(api.png_fclose(&file), IsOk());
|
||||
}
|
||||
|
||||
void WritePng(LibPNGApi& api, LibPNGSapiSandbox& sandbox,
|
||||
absl::string_view outfile, Data& data) {
|
||||
void WritePng(LibPNGApi& api, absl::string_view outfile, Data& data) {
|
||||
sapi::v::Fd fd(open(outfile.data(), O_WRONLY));
|
||||
|
||||
ASSERT_THAT(fd.GetValue(), Ge(0)) << "Error opening output file";
|
||||
ASSERT_THAT(sandbox.TransferToSandboxee(&fd), IsOk());
|
||||
ASSERT_THAT((&api)->sandbox()->TransferToSandboxee(&fd), IsOk());
|
||||
|
||||
ASSERT_THAT(fd.GetRemoteFd(), Ge(0)) << "Error receiving remote FD";
|
||||
|
||||
sapi::v::ConstCStr wb_var("wb");
|
||||
|
@ -199,7 +199,7 @@ TEST(SandboxTest, ReadModifyWrite) {
|
|||
LibPNGApi api(&sandbox);
|
||||
|
||||
Data data;
|
||||
ReadPng(api, sandbox, infile, data);
|
||||
ReadPng(api, infile, data);
|
||||
|
||||
ASSERT_THAT(data.color_type == PNG_COLOR_TYPE_RGBA ||
|
||||
data.color_type == PNG_COLOR_TYPE_RGB,
|
||||
|
@ -224,10 +224,10 @@ TEST(SandboxTest, ReadModifyWrite) {
|
|||
}
|
||||
}
|
||||
|
||||
WritePng(api, sandbox, outfile, data);
|
||||
WritePng(api, outfile, data);
|
||||
|
||||
Data result;
|
||||
ReadPng(api, sandbox, outfile, result);
|
||||
ReadPng(api, outfile, result);
|
||||
|
||||
EXPECT_THAT(result.height, Eq(data.height));
|
||||
EXPECT_THAT(result.width, Eq(data.width));
|
||||
|
|
Loading…
Reference in New Issue
Block a user