aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/projectstore/projectstore.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-09-22 15:19:58 +0200
committerGitHub Enterprise <[email protected]>2025-09-22 15:19:58 +0200
commite65416e757ba35fa8de5eec98e98711b03b9bf91 (patch)
tree1f35c93476a1dab571de9970989ba65a59d68614 /src/zenserver/projectstore/projectstore.cpp
parentmore responsive cancel during oplog import (#505) (diff)
downloadzen-e65416e757ba35fa8de5eec98e98711b03b9bf91.tar.xz
zen-e65416e757ba35fa8de5eec98e98711b03b9bf91.zip
dont set Size or RawSize when fetching chunkinfos if the payload can't be found/validated (#507)
Diffstat (limited to 'src/zenserver/projectstore/projectstore.cpp')
-rw-r--r--src/zenserver/projectstore/projectstore.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp
index e84e2e5f8..78e014346 100644
--- a/src/zenserver/projectstore/projectstore.cpp
+++ b/src/zenserver/projectstore/projectstore.cpp
@@ -4812,11 +4812,11 @@ ProjectStore::GetProjectChunkInfos(const std::string_view ProjectId,
{
if (WantsRawSizeField)
{
- RawSizes.resize(Hashes.size(), 0u);
+ RawSizes.resize(Hashes.size(), (uint64_t)-1);
}
if (WantsSizeField)
{
- Sizes.resize(Hashes.size(), 0u);
+ Sizes.resize(Hashes.size(), (uint64_t)-1);
}
WorkerThreadPool& WorkerPool = GetSmallWorkerPool(EWorkloadType::Burst); // GetSyncWorkerPool();
@@ -4832,11 +4832,13 @@ ProjectStore::GetProjectChunkInfos(const std::string_view ProjectId,
{
if (WantsRawSizeField)
{
+ ZEN_ASSERT_SLOW(RawSizes[Index] == (uint64_t)-1);
IoHash _;
if (CompressedBuffer::ValidateCompressedHeader(Payload, _, RawSizes[Index]))
{
if (WantsSizeField)
{
+ ZEN_ASSERT_SLOW(Sizes[Index] == (uint64_t)-1);
Sizes[Index] = Payload.GetSize();
}
}
@@ -4850,6 +4852,7 @@ ProjectStore::GetProjectChunkInfos(const std::string_view ProjectId,
}
else if (WantsSizeField)
{
+ ZEN_ASSERT_SLOW(Sizes[Index] == (uint64_t)-1);
Sizes[Index] = Payload.GetSize();
}
}
@@ -4857,10 +4860,12 @@ ProjectStore::GetProjectChunkInfos(const std::string_view ProjectId,
{
if (WantsSizeField)
{
+ ZEN_ASSERT_SLOW(Sizes[Index] == (uint64_t)-1);
Sizes[Index] = Payload.GetSize();
}
if (WantsRawSizeField)
{
+ ZEN_ASSERT_SLOW(Sizes[Index] == (uint64_t)-1);
RawSizes[Index] = Payload.GetSize();
}
}