[PR #2050] Fix/dtvcc allocation panic #2859

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

📋 Pull Request Information

Original PR: https://github.com/CCExtractor/ccextractor/pull/2050
Author: @pranavshar223
Created: 1/21/2026
Status: 🔄 Open

Base: masterHead: fix/dtvcc-allocation-panic


📝 Commits (4)

  • 5f4373b docs/debug: add verbose log when user data is skipped
  • 2469b29 retry the test
  • e5ffd30 restore all changes
  • 9b1126b removes panics from the CEA-708 decode

📊 Changes

3 files changed (+932 additions, -887 deletions)

View changed files

📝 linux/pre-build.sh (+34 -34)
📝 src/rust/src/decoder/mod.rs (+863 -848)
📝 src/rust/src/es/userdata.rs (+35 -5)

📄 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.

This PR removes panics from the CEA-708 decoder initialization path.

Previously, allocation failures for dtvcc_tv_screen or
dtvcc_service_decoder would cause a hard panic, crashing CCExtractor.

Instead, allocation failures are now handled gracefully by logging
a debug message and disabling the affected service decoder while
allowing processing to continue.

This improves robustness and aligns Rust behavior with the legacy C
implementation.


🔄 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/2050 **Author:** [@pranavshar223](https://github.com/pranavshar223) **Created:** 1/21/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `fix/dtvcc-allocation-panic` --- ### 📝 Commits (4) - [`5f4373b`](https://github.com/CCExtractor/ccextractor/commit/5f4373b29be5a5e0ffd52fb8d62591f55cf884b9) docs/debug: add verbose log when user data is skipped - [`2469b29`](https://github.com/CCExtractor/ccextractor/commit/2469b290f0bf26b69ae76fabb414c816ca2a4d9a) retry the test - [`e5ffd30`](https://github.com/CCExtractor/ccextractor/commit/e5ffd30c483d430cca6906e9c8ff79f53190be71) restore all changes - [`9b1126b`](https://github.com/CCExtractor/ccextractor/commit/9b1126b207efc4f88b97a9fc658c82b6d53f3949) removes panics from the CEA-708 decode ### 📊 Changes **3 files changed** (+932 additions, -887 deletions) <details> <summary>View changed files</summary> 📝 `linux/pre-build.sh` (+34 -34) 📝 `src/rust/src/decoder/mod.rs` (+863 -848) 📝 `src/rust/src/es/userdata.rs` (+35 -5) </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):** - [ ] I have read and understood the [contributors guide](https://github.com/CCExtractor/ccextractor/blob/master/.github/CONTRIBUTING.md). - [ ] 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](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. - [ ] 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. --- This PR removes panics from the CEA-708 decoder initialization path. Previously, allocation failures for dtvcc_tv_screen or dtvcc_service_decoder would cause a hard panic, crashing CCExtractor. Instead, allocation failures are now handled gracefully by logging a debug message and disabling the affected service decoder while allowing processing to continue. This improves robustness and aligns Rust behavior with the legacy C implementation. --- <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:18 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2859