| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent e330f03 commit b970c0b
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -612,9 +612,11 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork { | |||
| 612 | 612 | return AllocForBrotli(data, real_size); | |
| 613 | 613 | } | |
| 614 | 614 | ||
| 615 | + static constexpr size_t reserveSizeAndAlign = | ||
| 616 | + std::max(sizeof(size_t), alignof(max_align_t)); | ||
| 617 | + | ||
| 615 | 618 | static void* AllocForBrotli(void* data, size_t size) { | |
| 616 | - constexpr size_t offset = std::max(sizeof(size_t), alignof(max_align_t)); | ||
| 617 | - size += offset; | ||
| 619 | + size += reserveSizeAndAlign; | ||
| 618 | 620 | CompressionStream* ctx = static_cast<CompressionStream*>(data); | |
| 619 | 621 | char* memory = UncheckedMalloc(size); | |
| 620 | 622 | if (memory == nullptr) [[unlikely]] { | |
@@ -623,16 +625,15 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork { | |||
| 623 | 625 | *reinterpret_cast<size_t*>(memory) = size; | |
| 624 | 626 | ctx->unreported_allocations_.fetch_add(size, | |
| 625 | 627 | std::memory_order_relaxed); | |
| 626 | - return memory + offset; | ||
| 628 | + return memory + reserveSizeAndAlign; | ||
| 627 | 629 | } | |
| 628 | 630 | ||
| 629 | 631 | static void FreeForZlib(void* data, void* pointer) { | |
| 630 | 632 | if (pointer == nullptr) [[unlikely]] { | |
| 631 | 633 | return; | |
| 632 | 634 | } | |
| 633 | 635 | CompressionStream* ctx = static_cast<CompressionStream*>(data); | |
| 634 | - constexpr size_t offset = std::max(sizeof(size_t), alignof(max_align_t)); | ||
| 635 | - char* real_pointer = static_cast<char*>(pointer) - offset; | ||
| 636 | + char* real_pointer = static_cast<char*>(pointer) - reserveSizeAndAlign; | ||
| 636 | 637 | size_t real_size = *reinterpret_cast<size_t*>(real_pointer); | |
| 637 | 638 | ctx->unreported_allocations_.fetch_sub(real_size, | |
| 638 | 639 | std::memory_order_relaxed); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments