summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/execution_service/operations_server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/execution_service/operations_server.cpp')
-rw-r--r--src/buildtool/execution_api/execution_service/operations_server.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/buildtool/execution_api/execution_service/operations_server.cpp b/src/buildtool/execution_api/execution_service/operations_server.cpp
index 37d3552a..228b3595 100644
--- a/src/buildtool/execution_api/execution_service/operations_server.cpp
+++ b/src/buildtool/execution_api/execution_service/operations_server.cpp
@@ -15,12 +15,17 @@
#include "src/buildtool/execution_api/execution_service/operations_server.hpp"
#include "src/buildtool/execution_api/execution_service/operation_cache.hpp"
+#include "src/utils/cpp/verify_hash.hpp"
auto OperarationsServiceImpl::GetOperation(
::grpc::ServerContext* /*context*/,
const ::google::longrunning::GetOperationRequest* request,
::google::longrunning::Operation* response) -> ::grpc::Status {
auto const& hash = request->name();
+ if (auto error_msg = IsAHash(hash); error_msg) {
+ logger_.Emit(LogLevel::Debug, *error_msg);
+ return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, *error_msg};
+ }
logger_.Emit(LogLevel::Trace, "GetOperation: {}", hash);
std::optional<::google::longrunning::Operation> op;
op = OperationCache::Query(hash);