From e1979c07fe1e98af98a2ed394687a0aff065b0c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Nov 2025 08:09:44 +0000 Subject: [PATCH 1/2] Bump actions/checkout from 5.0.0 to 6.0.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 6.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/08c6903cd8c0fde910a37f88322edcfb5dd907a8...1af3b93b6815bc44a9784bd300feb67ff0d1eeb3) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build_test.yml | 4 ++-- .github/workflows/build_test_wasm.yml | 2 +- .github/workflows/codeql.yml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/release.yaml | 8 ++++---- .github/workflows/scorecard.yml | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 29f02fb..75eb7bc 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -220,7 +220,7 @@ jobs: sudo apt install -y ${EXTRA_PACKAGES} - name: Checkout the source - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: submodules: false fetch-depth: 1 @@ -342,7 +342,7 @@ jobs: steps: - name: Checkout the source - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: submodules: false fetch-depth: 1 diff --git a/.github/workflows/build_test_wasm.yml b/.github/workflows/build_test_wasm.yml index 332012d..d5d579f 100644 --- a/.github/workflows/build_test_wasm.yml +++ b/.github/workflows/build_test_wasm.yml @@ -39,7 +39,7 @@ jobs: with: egress-policy: audit - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: submodules: true fetch-depth: 1 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 19fb55a..fe2d28e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: egress-policy: audit - name: Checkout repository - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 25d832f..3cbbd6b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -35,7 +35,7 @@ jobs: egress-policy: audit - name: Checkout repository - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 - name: Install tools run: | diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 8f5edee..711a803 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -69,7 +69,7 @@ jobs: egress-policy: audit - name: Checkout the source - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: submodules: false fetch-depth: 1 @@ -150,7 +150,7 @@ jobs: egress-policy: audit - name: Checkout the source - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: submodules: false fetch-depth: 1 @@ -176,7 +176,7 @@ jobs: steps: - name: Checkout the source - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: submodules: false fetch-depth: 1 @@ -208,7 +208,7 @@ jobs: egress-policy: audit - name: Checkout the source - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: submodules: false fetch-depth: 1 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index dac567f..dfec763 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -42,7 +42,7 @@ jobs: egress-policy: audit - name: "Checkout code" - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: persist-credentials: false From 486ed5bc56012c13e24bde76ad1fdd9496ebca3f Mon Sep 17 00:00:00 2001 From: Evgenii Kliuchnikov Date: Mon, 24 Nov 2025 03:04:15 -0800 Subject: [PATCH 2/2] Fix one-off in dcheck. How to prove correctness: 1) when `position` is `0`, `max_length` is allowed to be `ringbuffer_size` 2) in other words: `position + max_length <= ringbuffer_size` 3) `ringbuffer_mask == ringbuffer_size - 1` 4) thus `position + max_length <= ringbuffer_size + 1` PiperOrigin-RevId: 836145553 --- c/enc/backward_references_hq.c | 2 +- c/enc/hash.h | 4 ++-- c/enc/hash_forgetful_chain_inc.h | 2 +- c/enc/hash_longest_match64_inc.h | 2 +- c/enc/hash_longest_match64_simd_inc.h | 2 +- c/enc/hash_longest_match_inc.h | 2 +- c/enc/hash_longest_match_quickly_inc.h | 2 +- c/enc/hash_longest_match_simd_inc.h | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/c/enc/backward_references_hq.c b/c/enc/backward_references_hq.c index ab8b121..07e82d1 100644 --- a/c/enc/backward_references_hq.c +++ b/c/enc/backward_references_hq.c @@ -433,7 +433,7 @@ static size_t UpdateNodes( const CompoundDictionary* addon = ¶ms->dictionary.compound; size_t gap = addon->total_size; - BROTLI_DCHECK(cur_ix_masked + max_len <= ringbuffer_mask); + BROTLI_DCHECK(cur_ix_masked + max_len <= ringbuffer_mask + 1); EvaluateNode(block_start + stream_offset, pos, max_backward_limit, gap, starting_dist_cache, model, queue, nodes); diff --git a/c/enc/hash.h b/c/enc/hash.h index d86fa18..eb9e455 100644 --- a/c/enc/hash.h +++ b/c/enc/hash.h @@ -545,7 +545,7 @@ static BROTLI_INLINE void FindCompoundDictionaryMatch( source = (const uint8_t*)BROTLI_UNALIGNED_LOAD_PTR((const uint8_t**)tail); } - BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask); + BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask + 1); for (i = 0; i < 4; ++i) { const size_t distance = (size_t)distance_cache[i]; @@ -656,7 +656,7 @@ static BROTLI_INLINE size_t FindAllCompoundDictionaryMatches( source = (const uint8_t*)BROTLI_UNALIGNED_LOAD_PTR((const uint8_t**)tail); } - BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask); + BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask + 1); while (item == 0) { size_t offset; diff --git a/c/enc/hash_forgetful_chain_inc.h b/c/enc/hash_forgetful_chain_inc.h index c44276f..b653698 100644 --- a/c/enc/hash_forgetful_chain_inc.h +++ b/c/enc/hash_forgetful_chain_inc.h @@ -213,7 +213,7 @@ static BROTLI_INLINE void FN(FindLongestMatch)( out->len = 0; out->len_code_delta = 0; - BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask); + BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask + 1); /* Try last distance first. */ for (i = 0; i < NUM_LAST_DISTANCES_TO_CHECK; ++i) { diff --git a/c/enc/hash_longest_match64_inc.h b/c/enc/hash_longest_match64_inc.h index bdbb30a..3131451 100644 --- a/c/enc/hash_longest_match64_inc.h +++ b/c/enc/hash_longest_match64_inc.h @@ -178,7 +178,7 @@ static BROTLI_INLINE void FN(FindLongestMatch)( out->len = 0; out->len_code_delta = 0; - BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask); + BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask + 1); /* Try last distance first. */ for (i = 0; i < (size_t)self->num_last_distances_to_check_; ++i) { diff --git a/c/enc/hash_longest_match64_simd_inc.h b/c/enc/hash_longest_match64_simd_inc.h index 12bd8cf..17dc67d 100644 --- a/c/enc/hash_longest_match64_simd_inc.h +++ b/c/enc/hash_longest_match64_simd_inc.h @@ -195,7 +195,7 @@ static BROTLI_INLINE void FN(FindLongestMatch)( out->len = 0; out->len_code_delta = 0; - BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask); + BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask + 1); /* Try last distance first. */ for (i = 0; i < (size_t)self->num_last_distances_to_check_; ++i) { diff --git a/c/enc/hash_longest_match_inc.h b/c/enc/hash_longest_match_inc.h index 58e88b3..674dced 100644 --- a/c/enc/hash_longest_match_inc.h +++ b/c/enc/hash_longest_match_inc.h @@ -178,7 +178,7 @@ static BROTLI_INLINE void FN(FindLongestMatch)( out->len = 0; out->len_code_delta = 0; - BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask); + BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask + 1); /* Try last distance first. */ for (i = 0; i < (size_t)self->num_last_distances_to_check_; ++i) { diff --git a/c/enc/hash_longest_match_quickly_inc.h b/c/enc/hash_longest_match_quickly_inc.h index 57ed586..9db75cc 100644 --- a/c/enc/hash_longest_match_quickly_inc.h +++ b/c/enc/hash_longest_match_quickly_inc.h @@ -165,7 +165,7 @@ static BROTLI_INLINE void FN(FindLongestMatch)( size_t cached_backward = (size_t)distance_cache[0]; size_t prev_ix = cur_ix - cached_backward; - BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask); + BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask + 1); out->len_code_delta = 0; if (prev_ix < cur_ix) { diff --git a/c/enc/hash_longest_match_simd_inc.h b/c/enc/hash_longest_match_simd_inc.h index 79b341a..075f6da 100644 --- a/c/enc/hash_longest_match_simd_inc.h +++ b/c/enc/hash_longest_match_simd_inc.h @@ -170,7 +170,7 @@ static BROTLI_INLINE void FN(FindLongestMatch)( out->len = 0; out->len_code_delta = 0; - BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask); + BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask + 1); /* Try last distance first. */ for (i = 0; i < (size_t)self->num_last_distances_to_check_; ++i) {