[BUG] Filename sequence expansion (`+`) panics on numeric values exceeding `i32::MAX`
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Leggi src/rust/src/parser.rs intorno a add_file_sequence() e all’analisi numerica alle righe 414–415; verifica prima come la funzione gestisce i valori di sequenza e gli errori di analisi. Aggiungi un test unitario usando un nome di file con un segmento numerico superiore a i32::MAX, quindi verifica che l’input non provochi più un panic e segua il comportamento previsto per la sequenza.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
// 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:
- Use a wider unsigned type (e.g.
u64/usize) for sequence indexing. - 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.
- Lingua principale
- C
- Stelle
- 908
- Fork
- 595
- Merge medio
- 3g 23h
- PR unite (30g)
- 32
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CCExtractor/ccextractor
-
CCExtractor: stack out-of-bounds write and quadratic out-of-bounds read in the DVB subtitle descriptor parser (parse_dvb_description)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
CCExtractor/ccextractor#2417 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] --out=report: heap-use-after-free in process608(), and a crash with more than one input fileForse già presa @Deepak-negi11 l’ha presa 2 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
CCExtractor/ccextractor#2412 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
CCExtractor/ccextractor#2408 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
CCExtractor/ccextractor#2398 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
CCExtractor/ccextractor#2379 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di CCExtractor/ccextractor
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
espressif/esp-adf-libs#89 · 1 commento ·
-
TLS: a stale OpenSSL error makes non-blocking reads fail with "Resource temporarily unavailable"Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
luainkernel/lunatik#2091 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
bigtreetech/BIGTREETECH-TouchScreenFirmware#3056 ·
I maintainer di solito rispondono entro 1 giorno