summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-11-10 14:57:36 +0100
committerGitHub <noreply@github.com>2022-11-10 14:57:36 +0100
commit0b49b06fd35a11fbbcb159177846bfafd74fa202 (patch)
treea760a183a5f4352dd6f6b004e0b6f9ca54718bd3
parente17924f98564bb17badfc02804069d8e1c480822 (diff)
parent110244b564cb2207a3e3854eaf4e955782b0e4d7 (diff)
Merge pull request #24821 from vespa-engine/havardpe/fbench-exit-on-bad-base64-input
fail on bad base64 POST data
-rw-r--r--fbench/src/fbench/client.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/fbench/src/fbench/client.cpp b/fbench/src/fbench/client.cpp
index f3e6fba2cf1..5c064159c65 100644
--- a/fbench/src/fbench/client.cpp
+++ b/fbench/src/fbench/client.cpp
@@ -227,7 +227,14 @@ Client::run()
const char* content = urlSource.content();
std::string base64_decoded;
if (_args->_usePostMode && _args->_base64Decode) {
- base64_decoded = Base64::decode(content, cLen);
+ try {
+ base64_decoded = Base64::decode(content, cLen);
+ } catch (std::exception &e) {
+ std::string msg = "POST request contains invalid base64 encoded data: ";
+ msg.append(e.what());
+ _status->SetError(msg.c_str());
+ break;
+ }
content = base64_decoded.c_str();
cLen = base64_decoded.size();
}