diff options
| author | Dan Engelbrecht <[email protected]> | 2024-05-02 17:40:30 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2024-05-02 17:40:30 +0200 |
| commit | 1155ed2048a24f4dfcfa65d63243b77973f820d6 (patch) | |
| tree | 49961435a57e3a516506bb6965d021c4864e3ecb /src/zenserver/projectstore/projectstore.cpp | |
| parent | use write and move in place for safer writing of files (#70) (diff) | |
| download | zen-1155ed2048a24f4dfcfa65d63243b77973f820d6.tar.xz zen-1155ed2048a24f4dfcfa65d63243b77973f820d6.zip | |
fix zero size attachment replies (#69)
- Bugfix: Don't try to respond with zero size partial cache value when partial size is zero
- Improvement: Added more validation of data read from cache / cas
Diffstat (limited to 'src/zenserver/projectstore/projectstore.cpp')
| -rw-r--r-- | src/zenserver/projectstore/projectstore.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp index f5fecce24..45a96c60d 100644 --- a/src/zenserver/projectstore/projectstore.cpp +++ b/src/zenserver/projectstore/projectstore.cpp @@ -3431,9 +3431,16 @@ ProjectStore::Rpc(HttpServerRequest& HttpReq, IoBuffer ChunkBuffer = m_CidStore.FindChunkByCid(RawHash); if (ChunkBuffer) { - ResponseWriter.AddHash(RawHash); - ResponsePackage.AddAttachment( - CbAttachment(CompressedBuffer::FromCompressedNoValidate(std::move(ChunkBuffer)), RawHash)); + CompressedBuffer Compressed = CompressedBuffer::FromCompressedNoValidate(std::move(ChunkBuffer)); + if (Compressed) + { + ResponseWriter.AddHash(RawHash); + ResponsePackage.AddAttachment(CbAttachment(std::move(Compressed), RawHash)); + } + else + { + ZEN_WARN("invalid compressed binary in cas store for {}", RawHash); + } } } ResponseWriter.EndArray(); |