aboutsummaryrefslogtreecommitdiff
path: root/zenserver/cache/structuredcache.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-05-24 22:25:03 +0200
committerStefan Boberg <[email protected]>2021-05-24 22:25:03 +0200
commitaa1d315d88d5f1118a48b3deaab295ef268610d9 (patch)
tree05cad1f96496216f233e4143484c5bc9a11ddfa3 /zenserver/cache/structuredcache.cpp
parentEliminated exploratory LMDB/RocksDB code from default path (diff)
downloadzen-aa1d315d88d5f1118a48b3deaab295ef268610d9.tar.xz
zen-aa1d315d88d5f1118a48b3deaab295ef268610d9.zip
Added guards against zero-sized PUTs to structured cache
Diffstat (limited to 'zenserver/cache/structuredcache.cpp')
-rw-r--r--zenserver/cache/structuredcache.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/zenserver/cache/structuredcache.cpp b/zenserver/cache/structuredcache.cpp
index 43364af1d..792d764cb 100644
--- a/zenserver/cache/structuredcache.cpp
+++ b/zenserver/cache/structuredcache.cpp
@@ -101,6 +101,11 @@ HttpStructuredCacheService::HandleCacheRecordRequest(zen::HttpServerRequest& Req
{
if (zen::IoBuffer Body = Request.ReadPayload())
{
+ if (Body.Size() == 0)
+ {
+ return Request.WriteResponse(zen::HttpResponse::BadRequest);
+ }
+
ZenCacheValue Value;
Value.Value = Body;
@@ -244,6 +249,11 @@ HttpStructuredCacheService::HandleCachePayloadRequest(zen::HttpServerRequest& Re
{
if (zen::IoBuffer Body = Request.ReadPayload())
{
+ if (Body.Size() == 0)
+ {
+ return Request.WriteResponse(zen::HttpResponse::BadRequest);
+ }
+
zen::IoHash ChunkHash = zen::IoHash::HashMemory(Body);
zen::CompressedBuffer Compressed = zen::CompressedBuffer::FromCompressed(SharedBuffer(Body));