Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[BUG] Filename sequence expansion (`+`) panics on numeric values exceeding `i32::MAX`

オープン 初心者向け
#2,402 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@muntasir-396 がすでに取り組んでいます。

2026年10月19日 から。

  • #2403 @muntasir-396 による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
82/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
rust
領域
cli

調査の方向性

src/rust/src/parser.rs の add_file_sequence() と414~415行目の数値パースの周辺を読み、まず関数がシーケンス値とパース失敗をどのように処理するかを確認してください。i32::MAX を超える数値セグメントを含むファイル名を使ったユニットテストを追加し、その入力でパニックが発生しなくなり、意図されたシーケンス動作に従うことを確認してください。

索引モデルが issue の本文から書いたものです。

説明

Description

When using numerical sequence expansion (appending + to an input filename, e.g. recording_20261019120000+.ts), CCExtractor panics if the numeric portion exceeds i32::MAX (2,147,483,647).

Location

In src/rust/src/parser.rs:

// Here: Significant digits go from filename[m] to filename[n]
let num = &filename[(m as usize)..=(n as usize)];
let mut i = num.parse::<i32>().unwrap();
Steps to Reproduce

Run CCExtractor with any input filename containing a numeric segment longer than 9 digits (common in camera and broadcast timestamps like YYYYMMDDHHMMSS):

ccextractor recording_20261019120000+.ts

Observed:
Panics with:

thread 'main' panicked at src/rust/src/parser.rs:415:47:
called `Result::unwrap()` on an `Err` value: ParseIntError { kind: PosOverflow }
Expected Behavior

CCExtractor should either:

  1. Use a wider unsigned type (e.g. u64 / usize) for sequence indexing.
  2. Handle parse errors gracefully (e.g. log an error or fall back to appending the literal filename without panicking).
Why this is a Good First Issue

This is self-contained within add_file_sequence() in src/rust/src/parser.rs, does not require domain knowledge of video codecs, and is easy to cover with a unit test.

主要言語
C
スター
905
フォーク
596
平均マージ
3日 23時間
マージ済み PR(30日)
32

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

CCExtractor/ccextractor のほかの issue

CCExtractor/ccextractor の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。