[PR #2015] [MERGED] [FIX] rust: add defensive length check to validate_cc_pair #2821

Open
opened 2026-01-29 17:24:04 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/CCExtractor/ccextractor/pull/2015
Author: @Harsh-Sahu43
Created: 1/10/2026
Status: Merged
Merged: 1/18/2026
Merged by: @cfsmp3

Base: masterHead: tests/validate-cc-pair


📝 Commits (4)

  • eea0499 add defensive length check to validate_cc_pair
  • 7e32d6a Merge branch 'CCExtractor:master' into tests/validate-cc-pair
  • 1447b02 Fixed : formatting
  • 2d9b480 Merge branch 'CCExtractor:master' into tests/validate-cc-pair

📊 Changes

1 file changed (+13 additions, -0 deletions)

View changed files

📝 src/rust/src/lib.rs (+13 -0)

📄 Description

In raising this pull request, I confirm the following (please check boxes):

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered, and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • I give this submission freely, and claim no ownership to its content.
  • I have mentioned this change in the changelog.

My familiarity with the project is as follows (check one):

  • I have never used CCExtractor.
  • I have used CCExtractor just a couple of times.
  • I absolutely love CCExtractor, but have not contributed previously.
  • I am an active contributor to CCExtractor.

Summary

Adds a defensive guard to validate_cc_pair to ensure the function only
processes CC blocks of the expected length (3 bytes).

This prevents potential out-of-bounds access if the function is ever
called with malformed input. Behavior for valid CC blocks is unchanged.

Details

  • Returns false early when the CC block slice length is not exactly 3
  • Adds unit tests covering invalid slice lengths
  • No changes to existing logic for valid CEA-608 / CEA-708 data

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/CCExtractor/ccextractor/pull/2015 **Author:** [@Harsh-Sahu43](https://github.com/Harsh-Sahu43) **Created:** 1/10/2026 **Status:** ✅ Merged **Merged:** 1/18/2026 **Merged by:** [@cfsmp3](https://github.com/cfsmp3) **Base:** `master` ← **Head:** `tests/validate-cc-pair` --- ### 📝 Commits (4) - [`eea0499`](https://github.com/CCExtractor/ccextractor/commit/eea049923d672d20ec494df390aed8d831bef312) add defensive length check to validate_cc_pair - [`7e32d6a`](https://github.com/CCExtractor/ccextractor/commit/7e32d6a55378d23358ce739cd44eef2bc733e08a) Merge branch 'CCExtractor:master' into tests/validate-cc-pair - [`1447b02`](https://github.com/CCExtractor/ccextractor/commit/1447b021cb35379daad7f8bf0ef67e04243dbb25) Fixed : formatting - [`2d9b480`](https://github.com/CCExtractor/ccextractor/commit/2d9b4809726716b5c92c4d953336eba5cb5612d2) Merge branch 'CCExtractor:master' into tests/validate-cc-pair ### 📊 Changes **1 file changed** (+13 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `src/rust/src/lib.rs` (+13 -0) </details> ### 📄 Description <!-- Please prefix your pull request with one of the following: **[FEATURE]** **[FIX]** **[IMPROVEMENT]**. --> **In raising this pull request, I confirm the following (please check boxes):** - [x] I have read and understood the [contributors guide](https://github.com/CCExtractor/ccextractor/blob/master/.github/CONTRIBUTING.md). - [x] I have checked that another pull request for this purpose does not exist. - [x] I have considered, and confirmed that this submission will be valuable to others. - [x] I accept that this submission may not be used, and the pull request closed at the will of the maintainer. - [x] I give this submission freely, and claim no ownership to its content. - [ ] **I have mentioned this change in the [changelog](https://github.com/CCExtractor/ccextractor/blob/master/docs/CHANGES.TXT).** **My familiarity with the project is as follows (check one):** - [ ] I have never used CCExtractor. - [x] I have used CCExtractor just a couple of times. - [ ] I absolutely love CCExtractor, but have not contributed previously. - [ ] I am an active contributor to CCExtractor. --- ### Summary Adds a defensive guard to `validate_cc_pair` to ensure the function only processes CC blocks of the expected length (3 bytes). This prevents potential out-of-bounds access if the function is ever called with malformed input. Behavior for valid CC blocks is unchanged. ### Details - Returns `false` early when the CC block slice length is not exactly 3 - Adds unit tests covering invalid slice lengths - No changes to existing logic for valid CEA-608 / CEA-708 data --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 17:24:04 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2821